欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

c#二维数组的写法辨析

程序员文章站 2022-04-08 16:50:21
...

1.

double[][]

这种数组是数组的数组,而且每一行可以有长度不一样的数组,看使得起来是锯齿形的,可以通过给某一行赋值一个数组来进行数组数据的改变。

double[][] x = new double[5][];

x[0] = new double[10];
x[1] = new double[5];
x[2] = new double[3];
x[3] = new double[100];
x[4] = new double[1];

当需要遍历的时候:

for (int i = 0; i < matrix.Length; i++)
{
    matrix[i] = new int [3]; // Create inner array
    for (int j = 0; j < matrix[i].Length; j++)
        matrix[i][j] = i * 3 + j;
}

2.

double[,]

这种数组是严格uniform的二维数组,每一行必须是等长的,看起来是一个矩形,要想改变数组数据,必须同时指定行列,改变某一个值,而不能给某一行赋值一个数组。

double[,] x = new double[5,6];

x[0,0] = 1.0;

需要遍历的时候:

int [,] matrix = new int [3, 3];
for (int i = 0; i < matrix.GetLength(0); i++)
    for (int j = 0; j < matrix.GetLength(1); j++)
        matrix [i, j] = i * 3 + j;

参考:*