使用ToArray()将列表转换为数组

时间:2012-04-03 09:16:39

标签: c# list error-handling type-conversion toarray

我创建了一个名为listItem的类和以下列表:

List<listItem> myList = new List<listItem>();

在我的代码中的某个时刻,我想将其转换为数组,从而使用:

listItem[] myArray = myList.ToArray();

不幸的是,这不起作用,我收到此错误消息:

Cannot convert [...] listItem[] to [...] List<listItem>

我试图解决这个问题,但非常失败...

提前致谢。

编辑:我的不好,我写的第一个代码行确实是错误的!

实际上,上面的所有代码都运行良好。我的错误是由于我的功能:

List<listItem> myFunction()

返回myArray,因此转换问题......现在已经修复了。 :)

谢谢大家的回答。

3 个答案:

答案 0 :(得分:13)

这是错误(正如Darkshadw和Jon Skeet所指出的那样)

listItem myList = new List<listItem>();

您正在将List的值分配给listItem。

将其替换为

List<listItem> myList = new List<listItem>();

创建listItem列表。然后

listItem[] myArray = myList.ToArray();

会奏效。

答案 1 :(得分:2)

你试过吗

listItem[] myArray = myList.ToArray(new listItem[]{});

在Java中它起作用,我不确定在c#

答案 2 :(得分:0)

string[] s = myList.ToArray();

考虑myList是字符串列表