📜  C#|锯齿状阵列(1)

📅  最后修改于: 2023-12-03 15:14:30.506000             🧑  作者: Mango

C# | 锯齿状数组

介绍

在 C# 中,锯齿状数组是一种多维数组,其中子数组可以具有不同的长度。这种类型的数组通常用于表示二维表格或矩阵,其中每一行的元素数量可能不同。

语法

声明一个二维的锯齿状数组:

int[][] jaggedArray = new int[3][];
jaggedArray[0] = new int[] {1, 2, 3};
jaggedArray[1] = new int[] {4, 5};
jaggedArray[2] = new int[] {6, 7, 8, 9};

在这个例子中,我们声明了一个有三行的数组,其中第一行有三个元素,第二行有两个元素,第三行有四个元素。因为每个子数组的长度不同,所以这是一个锯齿状数组。

访问元素

要访问锯齿状数组中的元素,我们可以使用以下语法:

int value = jaggedArray[row][column];

其中,row 表示行号,column 表示列号。

遍历数组

我们可以使用嵌套循环来遍历整个锯齿状数组,如下所示:

for (int i = 0; i < jaggedArray.Length; i++)
{
    for (int j = 0; j < jaggedArray[i].Length; j++)
    {
        Console.Write(jaggedArray[i][j] + " ");
    }
    Console.WriteLine();
}

在这个例子中,外层循环迭代锯齿状数组的行,内层循环迭代每一行的元素。

改变数组大小

我们可以使用 Array.Resize 方法来改变锯齿状数组的大小。例如,如果我们要向第一行添加一个元素,可以使用以下代码:

Array.Resize(ref jaggedArray[0], jaggedArray[0].Length + 1);
jaggedArray[0][jaggedArray[0].Length - 1] = 10;

在这个例子中,我们使用 Array.Resize 方法将第一行的长度增加一,然后向新的位置添加一个值为 10 的元素。

总结

锯齿状数组是 C# 中非常有用的一种数据类型,可以用于表示二维表格或矩阵。由于每个子数组的长度可以不同,因此它允许我们更灵活地存储和访问数据。