我刚刚经历了其中一个“什么……”的时刻。以下是有意的,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。)