我正在尝试调用一个方法,但它告诉我需要传入一个数组。没有Convert.ToArray()方法,并且转换不起作用。
如何将列表转换为数组?
答案 0 :(得分:3)
您不应该首先使用Arraylists(您的问题是标记为arraylist)。从C#2和泛型开始,它们被弃用(例如,使用List<int>
来动态调整大小的整数集合)。然后,如果你有C#3.5及更高版本,你应该使用前面提到的.ToArray()
扩展方法。如果你没有最新最好的C#,你可以使用
ArrayList arraylist= new ArrayList();
arraylist.Add( 1 );
arraylist.Add( 2 );
arraylist.Add( 3 );
int[] mydatas = (int[]) arraylist.ToArray(typeof(int));
答案 1 :(得分:2)
您可以使用System.Linq.Enumerable.ToArray
:
using System.Linq;
...
var b = a.ToArray();
答案 2 :(得分:0)
尝试
yourList.ToArray()
是Enumerable扩展方法
的一部分答案 3 :(得分:0)
在列表对象上调用ToArray()方法。我提供了文档的链接。
本文档引用System.Collections.Generic命名空间,该命名空间在所有.NET版本中都可用,与更专业的linq命名空间不同。它们确实执行相同的功能,但是这里没有提供有关性能比较的详细信息。
MSDN documentation on List.ToArray Method
命名空间:System.Collections.Generic
程序集:mscorlib(在mscorlib.dll中)
public T [] ToArray()