【问题标题】:Is there a way in C# to initialize jagged arrays similarly as in Java在 C# 中有没有一种方法来初始化锯齿状数组,就像在 Java 中一样
【发布时间】:2016-01-27 10:37:31
【问题描述】:

在 Java 中,我可以执行以下操作:

String[][] map = {
        {"1.0, ", "1.1, ", "1.2, ", "1.3, ", "1.0, "},
        {"A, ", "B, ", "C, ", "D, ", "E, "},
        {"X, ", "XX, ", "XXX, ", "XXXX, ", "XXXX, "},
                     };

但相同的代码不能在 C# 中编译。我可以通过一个一个地初始化子字段来以一种乏味的方式来做到这一点,但我相信有更好的方法。

【问题讨论】:

    标签: java c# syntax


    【解决方案1】:

    您可以在C# 中做的最接近的事情是在每个数组初始值设定项之前添加new []

    String[][] map = {
                        new [] {"1.0, ", "1.1, ", "1.2, ", "1.3, ", "1.0, "},
                        new [] {"A, ", "B, ", "C, ", "D, ", "E, "},
                        new [] {"X, ", "XX, ", "XXX, ", "XXXX, ", "XXXX, "},
                     };
    

    【讨论】:

      【解决方案2】:

      是的:

      int[][] jaggedArray = new int[3][];
      
      jaggedArray[0] = new int[5];
      jaggedArray[1] = new int[4];
      jaggedArray[2] = new int[2];
      

      锯齿状数组(C# 编程指南)

      https://msdn.microsoft.com/en-us/library/2s05feca.aspx?f=255&MSPPError=-2147217396

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-02-04
        • 2010-12-16
        • 2019-06-17
        • 2011-08-21
        • 2010-11-09
        • 2013-01-07
        • 1970-01-01
        相关资源
        最近更新 更多