array [] []和array [,]有什么区别?

时间:2011-03-01 02:45:55

标签: c# arrays

有人可以解释这两个声明之间的区别吗?

  1. double dArray[][];
  2. double dArray[,];

4 个答案:

答案 0 :(得分:7)

double dArray[][];

是阵列数组

double dArray[,];

是一个二维数组。

很容易查找它们。

MSDN Reference link

答案 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#标签)。