昨晚我做了一个梦,下面的事情是不可能的。但在同一个梦里,有人告诉我事实并非如此。因此,我想知道是否有可能转换系统。数组到列表

Array ints = Array.CreateInstance(typeof(int), 5);
ints.SetValue(10, 0);
ints.SetValue(20, 1);
ints.SetValue(10, 2);
ints.SetValue(34, 3);
ints.SetValue(113, 4);

to

List<int> lst = ints.OfType<int>(); // not working

当前回答

我知道两种方法:

List<int> myList1 = new List<int>(myArray);

Or,

List<int> myList2 = myArray.ToList();

我假设您了解数据类型,并可以根据需要更改类型。

其他回答

在希望以列表形式返回枚举数组的情况下,可以执行以下操作。

using System.Linq;

public List<DayOfWeek> DaysOfWeek
{
  get
  {
    return Enum.GetValues(typeof(DayOfWeek))
               .OfType<DayOfWeek>()
               .ToList();
  }
}

最简单的方法是:

int[] ints = new [] { 10, 20, 10, 34, 113 };

List<int> lst = ints.ToList();

or

List<int> lst = new List<int>();
lst.AddRange(ints);

只需使用现有的方法.. tolist ();

   List<int> listArray = array.ToList();

亲吻(简单点,先生)

在vb.net中这样做

mylist.addrange(intsArray)

or

Dim mylist As New List(Of Integer)(intsArray)

List还有一个构造函数重载,可以工作…但我猜这需要一个强类型数组。

//public List(IEnumerable<T> collection)
var intArray = new[] { 1, 2, 3, 4, 5 };
var list = new List<int>(intArray);

... 对于数组类

var intArray = Array.CreateInstance(typeof(int), 5);
for (int i = 0; i < 5; i++)
    intArray.SetValue(i, i);
var list = new List<int>((int[])intArray);