Преобразовать массив строк в список <string>

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

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

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

foreach (string arrItem in arr)
{
    openItems.Add(arrItem);
}
</code>

Если я должен сделать это таким образом, есть ли способ освободить устаревший массив из памяти после того, как я скопирую его в свой список?

 Mike Christensen12 апр. 2012 г., 20:20
Не беспокойтесь о чистке вашегоarrсборщик мусора справится с этим намного лучше, чем вы.
 Mike Christensen26 апр. 2013 г., 20:59
Вы конкретно. И я. На самом деле, я думаю, что только Джону Скиту разрешено заниматься сборкой мусора.
 Nick Rolando26 апр. 2013 г., 16:50
Мне конкретно .. или разработчикам вообще?

Ответы на вопрос(2)

который (иногда) делает поток кода немного лучше.

Использование выглядит так:

using System.Linq; 

// ...

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

PS. Там такжеToArray() метод, который работает по-другому.

Решение Вопроса

этот конструктор изList<T>, Он принимает любыеIEnumerable<T> в качестве аргумента.

string[] arr = ...
List<string> list = new List<string>(arr);

Ваш ответ на вопрос