0

我试图在下面声明一个二维动态数组是我的代码:

   var marray= new[,]
                        {
                            {
                                "1", 
                                "Module 1.1",
                                "Module 1.2",
                                " Module 1.3",
                                "Module 1.4",
                                "Module 1.5"
                            },

                            {
                                "2", 
                                "Module 2.1"                                    
                            }
                        };

我在第二个值上出现错误 "An array initializer of '6' is expected"。我可以理解它期望 2nd 有 6 个值,但我需要它是任何长度的动态。我对数组不太了解,所以无法解决它。能否请您指导。谢谢

4

2 回答 2

6

您想要一个参差不齐的数组而不是一个直接的多维数组,因为您的子数组大小不一样。

声明为

var marray= new[][]

而不是

var marray= new[,]

参考:

于 2013-09-04T02:06:20.930 回答
3

您收到编译错误,因为您的子数组大小不相等。您要么需要像Mitch Wheat 建议的那样使用锯齿状数组来实现这一点,要么确保子数组中的所有元素都具有相同数量的元素。

于 2013-09-04T02:09:44.620 回答