如何在C#中将Array
转换为List<object>
?
List<object> list = myArray.Cast<Object>().ToList();
如果数组元素的类型是引用类型,则可以.Cast<object>()
因为C#4添加了接口协方差,即IEnumerable<SomeClass>
可以被视为IEnumerable<object>
。
List<object> list = myArray.ToList<object>();
使用构造函数: new List<object>(myArray)
List<object>.AddRange(object[])
should do the trick. It will avoid all sorts of useless memory allocation. You could also use Linq, somewhat like this: object[].Cast<object>().ToList()
The List<> constructor can accept anything which implements IEnumerable, therefore...
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();
Everything everyone is saying is correct so,
int[] aArray = {1,2,3};
List<int> list = aArray.OfType<int> ().ToList();
would turn aArray into a list, list. However the biggest thing that is missing from a lot of comments is that you need to have these 2 using statements at the top of your class
using System.Collections.Generic;
using System.Linq;
I hope this helps!
您还可以直接使用数组初始化列表:
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)
Here is my version:
List<object> list = new List<object>(new object[]{ "test", 0, "hello", 1, "world" });
foreach(var x in list)
{
Console.WriteLine("x: {0}", x);
}
You can try this,
using System.Linq;
string[] arrString = { "A", "B", "C"};
List<string> listofString = arrString.OfType<string>().ToList();
Hope, this code helps you.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.