Перетворити масив рядків у Список <string>


162

Я бачив приклади цього, зробленого за допомогою .ToList()типів масивів, схоже, це доступно лише у .Net 3.5+ . Я працюю з .NET Framework 2.0 над проектом ASP.NET, який наразі неможливо оновити, тому мені було цікаво: чи є інше рішення? Той, який є більш елегантним, ніж прокручувати масив та додавати кожен елемент до цього списку (що не проблема; мені просто цікаво, чи є краще рішення для цілей навчання)?

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

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

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

Якщо мені доведеться це зробити так, чи є спосіб розібрати затяжний масив із пам'яті після того, як я скопіюю його до свого списку?


1
Не турбуйтеся про прибирання вашого arr, сміттєзбірник зробить набагато кращу роботу, ніж ви.
Майк Крістенсен

37
Ви спеціально. І я. Насправді, я думаю, що тільки Джону Скіту дозволено робити власну збирання сміття.
Майк Крістенсен

@MikeChristensen Не міг протистояти спростуванню цього коментаря до Джона Скіта. 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();
}

PS. Існує також ToArray()метод, який працює інакше.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.