Ich habe Beispiele dafür gesehen, die mit .ToList()
Array-Typen durchgeführt wurden. Dies scheint nur in .Net 3.5+ verfügbar zu sein . Ich arbeite mit .NET Framework 2.0 an einem ASP.NET-Projekt, das derzeit nicht aktualisiert werden kann. Daher habe ich mich gefragt: Gibt es eine andere Lösung? Eine, die eleganter ist, als das Array zu durchlaufen und jedes Element zu dieser Liste hinzuzufügen (was kein Problem ist; ich frage mich nur, ob es eine bessere Lösung für Lernzwecke gibt)?
string[] arr = { "Alpha", "Beta", "Gamma" };
List<string> openItems = new List<string>();
foreach (string arrItem in arr)
{
openItems.Add(arrItem);
}
Wenn ich es auf diese Weise tun muss, gibt es eine Möglichkeit, die Zuordnung des verbleibenden Arrays aus dem Speicher aufzuheben, nachdem ich es in meine Liste kopiert habe?
arr
, der Müllsammler wird das viel besser machen als du.Antworten:
Verwenden Sie einfach diesen Konstruktor von
List<T>
. Es akzeptiert jedesIEnumerable<T>
als Argument.quelle
Ab .Net 3.5 können Sie die LINQ-Erweiterungsmethode verwenden, die (manchmal) den Codefluss etwas verbessert.
Die Verwendung sieht folgendermaßen aus:
PS. Es gibt auch eine
ToArray()
Methode, die auf andere Weise funktioniert.quelle