简体   繁体   English

C#中是否有一种类似于Java的方法来初始化锯齿状数组

[英]Is there a way in C# to initialize jagged arrays similarly as in Java

In Java, I can do the following: 在Java中,我可以执行以下操作:

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

but the same code does not compile in C#. 但是相同的代码无法在C#中编译。 I could do it in a tedious way by initializing the sub-fields one by one but I am sure there is a better way. 通过逐个初始化子字段,我可以以一种乏味的方式来完成此操作,但我相信还有更好的方法。

The closest thing you can do in C# is to add new [] before each array initializer: 您可以在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, "},
                 };

Yes: 是:

int[][] jaggedArray = new int[3][];

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

Jagged Arrays (C# Programming Guide) 锯齿状数组(C#编程指南)

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM