如何声明2维的锯齿状数组?

时间:2013-09-04 02:03:03

标签: c# .net c#-4.0

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

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

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

我在第二个值上遇到错误“预计数组初始化程序为'6'”。 我可以理解它期望第二个有6个值,但我需要它是任何长度的动态。  我不太了解数组,所以无法解决它。你能指导吗?感谢

2 个答案:

答案 0 :(得分:6)

您需要参差不齐的数组而不是多维数组,因为您的子数组大小不同。

声明为

var marray= new[][]

而不是

var marray= new[,]

参考:

答案 1 :(得分:3)

您收到编译错误,因为您的子数组大小不相等。您需要使用jagged arrays作为Mitch Wheat suggests 来实现此功能,以确保子数组中的所有元素具有相同数量的元素。