有人可以解释这两个声明之间的区别吗?
double dArray[][];
double dArray[,];
答案 0 :(得分:7)
答案 1 :(得分:3)
最后一种语法很简单,它声明了一个多维的多维数组。想象一下,阵列是3x2,那么阵列中将有6个双打。
第一种语法声明了一个锯齿状数组。第二种语法是矩形或方形,但这种语法不一定是。你可以有三行,然后是3列,然后是2列,然后是1列,即:它的锯齿状。
2nd: 1-1, 1-2, 1-3
2-1, 2-2, 2-3
1st: 1-1, 1-2, 1-3
2-1, 2-2,
3-1,
答案 2 :(得分:3)
第一个是double
数组的数组,这意味着dArray
中的每个单独元素可以包含不同数量的双精度数,具体取决于数组的长度。
double[][] dArray = new double[3][];
dArray[0] = new double[3];
dArray[1] = new double[2];
dArray[2] = new double[4];
Index
0 1 2
----- ----- -----
L 1 | | | | | |
e ----- ----- -----
n 2 | | | | | |
g ----- ----- -----
t 3 | | | |
h ----- -----
4 | |
-----
第二个被称为多维数组,可以被认为是一个矩阵,如行和列。
double[,] dArray = new dArray[3, 3];
Column
0 1 2
-------------
0 | | | |
R -------------
o 1 | | | |
w -------------
2 | | | |
-------------
答案 3 :(得分:1)
See the official documentation(点击 C#标签)。