Как преобразовать массив в список в C#?
Как мне преобразовать Array
до List<object>
в C#?
11 ответов:
List<object> list = myArray.Cast<Object>().ToList();
если тип элементов массива является ссылочным типом, вы можете опустить
.Cast<object>()
поскольку C#4 добавил ко-дисперсию интерфейса, т. е.IEnumerable<SomeClass>
можно рассматривать какIEnumerable<object>
.List<object> list = myArray.ToList<object>();
List<object>.AddRange(object[])
следует сделать трюк. Это позволит избежать всех видов бесполезного выделения памяти. Вы также можете использовать Linq, примерно так:object[].Cast<object>().ToList()
конструктор List может принимать все, что реализует IEnumerable, поэтому...
object[] testArray = new object[] { "blah", "blah2" }; List<object> testList = new List<object>(testArray);
private List<object> ConvertArrayToList(object[] array) { List<object> list = new List<object>(); foreach(object obj in array) list.add(obj); return list; }
вы также можете инициализировать список с массивом напрямую:
List<int> mylist= new List<int>(new int[]{6, 1, -5, 4, -2, -3, 9});
все, что все говорят правильно так,
int[] aArray = {1,2,3}; List<int> list = aArray.OfType<int> ().ToList();
превратил бы aArray в список, список. Однако самая большая вещь, которая отсутствует во многих комментариях, заключается в том, что вам нужно иметь эти 2 оператора using в верхней части вашего класса
using System.Collections.Generic; using System.Linq;
надеюсь, это поможет!