【问题标题】:Cannot implicitly convert type 'System.Collections.Generic.IEnumerable<int[]>' to 'int[][]' [duplicate]无法将类型“System.Collections.Generic.IEnumerable<int[]>”隐式转换为“int[][]”[重复]
【发布时间】:2019-01-30 23:47:47
【问题描述】:

我想反转一些字符,但我收到以下错误:

无法将类型“System.Collections.Generic.IEnumerable&lt;int[]&gt;”隐式转换为“int[][]”。

以下是参考代码。

private void tp(int[][] cd = null,int offset = 0)
    {
        if (cd == null) return;
        cd = cd.Reverse();
        /*rest of code...*/
    }

【问题讨论】:

  • @JohnWu:你的评论绝对不对。您的评论可能对int[,] 是正确的(我没有检查过),但对于int[][] 肯定不是正确的,因为可以简单地测试。
  • 我已将 c# 标签添加到问题中,因为您的代码看起来就是您使用的语言。语言标签有助于确保正确的人查看您的问题!

标签: c# .net


【解决方案1】:

Reverse 将返回一个IEnumerable&lt;T&gt;,在这种情况下返回一个IEnumerable&lt;int[]&gt;,如错误消息所示。要获得int[][],您只需在反向结果上调用ToArray()。那就是:

cd = cd.Reverse().ToArray();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-18
    相关资源
    最近更新 更多