स्ट्रिंग्स की सरणी को सूची <string> में बदलें


162

मैंने इसका उदाहरण .ToList()सरणी प्रकारों पर प्रयोग करके देखा है , यह केवल .net 3.5+ में उपलब्ध है । मैं ASP.NET प्रोजेक्ट पर .NET फ्रेमवर्क 2.0 के साथ काम कर रहा हूं जिसे इस समय अपग्रेड नहीं किया जा सकता है, इसलिए मैं सोच रहा था: क्या कोई और उपाय है? एक जो सरणी के माध्यम से लूपिंग से अधिक सुरुचिपूर्ण है और प्रत्येक तत्व को इस सूची में जोड़ रहा है (जो कोई समस्या नहीं है? मैं बस सोच रहा हूं कि क्या सीखने के उद्देश्यों के लिए बेहतर समाधान है)?

string[] arr = { "Alpha", "Beta", "Gamma" };

List<string> openItems = new List<string>();

foreach (string arrItem in arr)
{
    openItems.Add(arrItem);
}

अगर मुझे इसे इस तरह से करना है, तो क्या मैं अपनी सूची में इसे कॉपी करने के बाद मेमोरी से लिरिंग सरणी को हटाने का एक तरीका है?


1
अपने सफाई के बारे में चिंता मत करो arr, कचरा कलेक्टर आप की तुलना में बहुत बेहतर काम करेंगे।
माइक क्रिस्टीनसेन

37
आप विशेष रूप से और मैं। वास्तव में, मुझे लगता है कि केवल जॉन स्कीट को अपना कचरा संग्रह करने की अनुमति है।
क्रिस्टियन में माइक क्रिस्टेंसन

जॉन स्कीट टिप्पणी के लिए @MikeChristensen upvoting का विरोध नहीं कर सका। lol
Ctrl S

जवाबों:



26

.Net 3.5 से आप LINQ एक्सटेंशन मेथड का उपयोग कर सकते हैं जो (कभी-कभी) कोड फ्लो को थोड़ा बेहतर बनाता है।

उपयोग इस तरह दिखता है:

using System.Linq; 

// ...

public void My()
{
    var myArray = new[] { "abc", "123", "zyx" };
    List<string> myList = myArray.ToList();
}

पुनश्च। वहाँ भी ToArray()विधि है कि दूसरे तरीके से काम करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.