昨晚我做了一个梦,下面的事情是不可能的。但在同一个梦里,有人告诉我事实并非如此。因此,我想知道是否有可能转换系统。数组到列表
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
给自己省点痛苦吧……
using System.Linq;
int[] ints = new [] { 10, 20, 10, 34, 113 };
List<int> lst = ints.OfType<int>().ToList(); // this isn't going to be fast.
也可以…
List<int> lst = new List<int> { 10, 20, 10, 34, 113 };
还是……
List<int> lst = new List<int>();
lst.Add(10);
lst.Add(20);
lst.Add(10);
lst.Add(34);
lst.Add(113);
还是……
List<int> lst = new List<int>(new int[] { 10, 20, 10, 34, 113 });
还是……
var lst = new List<int>();
lst.AddRange(new int[] { 10, 20, 10, 34, 113 });
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);
给自己省点痛苦吧……
using System.Linq;
int[] ints = new [] { 10, 20, 10, 34, 113 };
List<int> lst = ints.OfType<int>().ToList(); // this isn't going to be fast.
也可以…
List<int> lst = new List<int> { 10, 20, 10, 34, 113 };
还是……
List<int> lst = new List<int>();
lst.Add(10);
lst.Add(20);
lst.Add(10);
lst.Add(34);
lst.Add(113);
还是……
List<int> lst = new List<int>(new int[] { 10, 20, 10, 34, 113 });
还是……
var lst = new List<int>();
lst.AddRange(new int[] { 10, 20, 10, 34, 113 });