【问题标题】:Converting a list to an array with ToArray()使用 ToArray() 将列表转换为数组
【发布时间】:2012-04-16 22:28:56
【问题描述】:

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

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

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

listItem[] myArray = myList.ToArray();

很遗憾,这不起作用,我收到以下错误消息:

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

我试图解决这个问题,但非常不成功......

提前致谢。

编辑:我的错,我写的第一行代码确实打错了!

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

List<listItem> myFunction()

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

谢谢大家的回答。

【问题讨论】:

  • 列表项与列表不同 ;)
  • 您的第一行将无法编译开始,并且错误消息建议以相反的方式进行转换。请展示一个简短但完整的程序来说明问题,并逐字显示错误消息。
  • 输入正确吗?您的问题似乎与 ToArray() 调用无关。
  • 您发布的错误消息与将 ListItems 数组转换为 List 相关,而不是相反。 List.ToArray() 应该可以正常工作。发布整个代码或整个错误消息。

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


【解决方案1】:

你试过了吗

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

在Java中它可以工作,我不确定在c#中

【讨论】:

    【解决方案2】:

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

    listItem myList = new List<listItem>();
    

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

    替换为

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

    创建一个listItem 列表。那么

    listItem[] myArray = myList.ToArray();
    

    会起作用的。

    【讨论】:

    • 如何给尺寸?
    • 获取大小:myArray.size。设置:myArray = new Array[5]; 但删除旧数组
    【解决方案3】:
    string[] s = myList.ToArray();
    

    考虑到 myList 是字符串列表

    【讨论】:

      猜你喜欢
      • 2013-01-05
      • 2011-01-19
      • 1970-01-01
      • 2016-02-09
      • 2023-03-20
      • 1970-01-01
      • 2015-11-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多