Jes*_*ood 8 language-agnostic language-theory jagged-arrays multidimensional-array
我读过的大多数编程书都有以下几行:
"X语言不支持真正的多维数组,但你可以用数组数组模拟(近似)它们."
由于我的大部分经验都是基于C语言,即C++,Java,JavaScript,php等,我不确定"真正的"多维数组是什么.
真正的多维数组的定义是什么以及支持它的语言是什么?另外,如果可能的话,请在代码中显示一个真正的多维数组的示例.
C#支持真正的多维数组,以及可以替代的"锯齿状"数组(数组数组).
// jagged array
string[][] jagged = new string[12][7];
// multidimensional array
string[,] multi = new string[12,7];
Run Code Online (Sandbox Code Playgroud)
通常认为锯齿状阵列更好,因为它们可以完成多维阵列可以做的所有事情.在锯齿状数组中,您可以使每个子数组具有不同的大小,而在多维数组中则不能这样做.甚至还有一个代码分析规则(http://msdn.microsoft.com/en-us/library/ms182277.aspx)