我刚刚经历了一次“什么鬼”的时刻。下面这个是有意义的吗?在C#中声明数组为什么要这样非自然的方式?
int[,][] i; // declares an 2D - array where each element is an int[] !
// you have to use it like this:
i = new int[2,3][];
i[1,2] = new int[0];
我原本希望它是反过来的。int[,][] 声明了一个一维数组,其中每个元素都是一个二维数组。
有趣的是,这种类型的名称被颠倒了:
Console.WriteLine(typeof(int[,][]).Name); // prints "Int32[][,]"
有人能解释一下这是什么意思吗?这是故意的吗?(在Windows下使用.NET 4.5)