如何将列表转换为数组?

时间:2011-07-25 23:29:48

标签: c# arraylist

我正在尝试调用一个方法,但它告诉我需要传入一个数组。没有Convert.ToArray()方法,并且转换不起作用。

如何将列表转换为数组?

4 个答案:

答案 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()