假设我们有一个锯齿状的数组
int[][] a = { new[] { 1, 2, 3, 4 }, new[] { 5, 6, 7, 8 }, new[] { 9, 10, 11, 12 } };
Run Code Online (Sandbox Code Playgroud)
要获得第二行和第二列之和的总和,可以分别写入两个代码行:
int rowSum = a[1].Sum();
int colSum = a.Select(row => row[1]).Sum();
Run Code Online (Sandbox Code Playgroud)
但是如果我们有二维数组的定义
int[,] a = { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 } };
Run Code Online (Sandbox Code Playgroud)
由于编译器错误,上述代码将无效:
Error 1 Wrong number of indices inside []; expected 2
Error 2 'int[*,*]' does not contain a …Run Code Online (Sandbox Code Playgroud)