.NET, преобразовывающая простые массивы для Списка Дженерики

Этот вопрос мог бы казаться тривиальным и также глупым на первый взгляд, но это намного больше, чем это.

У меня есть массив любого типа T (T[]) и я хочу преобразовать его в универсальный Список (List<T>). Есть ли какой-либо другой путь кроме создания Универсального списка, пересечения целого массива и добавления элемента в Списке?

Текущая ситуация:

string[] strList = {"foo","bar","meh"};
List<string> listOfStr = new List<string>();
foreach(string s in strList)
{
    listOfStr.Add(s);
}

Моя идеальная ситуация:

string[] strList = {"foo","bar","meh"};
List<string> listOfStr = strList.ToList<string>();

Или:

string[] strList = {"foo","bar","meh"};
List<string> listOfStr = new List<string>(strList);

Я предлагаю последние 2 имен методов, поскольку я думаю компилятор или CLR может выполнить некоторую оптимизацию на целых операциях, если Это хочет встроенный.

P.S.: Я не говорю о Array или ArrayList Ввести

12
задан RvdK 9 March 2010 в 11:19
поделиться

4 ответа

Если я правильно понимаю ваш вопрос, один из имеющихся у вас сегментов кода будет работать. В C # строку нужно заключать в двойные кавычки, а не в одиночные.

string[] strList = {"foo","bar","meh"};
List<string> listOfStr = new List<string>(strList);
27
ответ дан 2 December 2019 в 03:18
поделиться

Если вы укажете System.Linq , вы можете ввести:

string[] strList = {'foo','bar','meh'}; 
List<string> listOfStr = strList.ToList(); 

точно так, как хотите.

Второй синтаксис также должен работать.

10
ответ дан 2 December 2019 в 03:18
поделиться
object[] array = new object[10];
List<object> list = array.ToList();

Метод ToList является методом linq. Вам нужно добавить

using System.Linq;
4
ответ дан 2 December 2019 в 03:18
поделиться

Использовать:

using System.Linq;

string[] strList = {'foo','bar','meh'};
List<string> listOfStr = strList.ToList();
4
ответ дан 2 December 2019 в 03:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: