如何在C#中将数组转换为List <object>?

如何在C#中将Array转换为List<object>

 List<object> list = myArray.Cast<Object>().ToList(); 

如果数组元素的types是引用types,则可以.Cast<object>()因为C#4添加了接口协方差,即IEnumerable<SomeClass>可以被视为IEnumerable<object>

 List<object> list = myArray.ToList<object>(); 

使用构造函数: new List<object>(myArray)

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<object> list=myArray.ToList(); 

所有人都说的是正确的,

 int[] aArray = {1,2,3}; List<int> list = aArray.OfType<int> ().ToList(); 

会把一个数组变成一个列表,列表。 然而,很多评论中最大的缺点是你需要在课堂上面使用这两个使用语句

 using System.Collections.Generic; using System.Linq; 

我希望这有帮助!

您也可以直接使用数组初始化列表:

 List<int> mylist= new List<int>(new int[]{6, 1, -5, 4, -2, -3, 9}); 

其他方式

 List<YourClass> list = (arrayList.ToArray() as YourClass[]).ToList(); 

这可以让你发送一个对象:

 private List<object> ConvertArrayToList(dynamic array)