1. 什么是二维数组?
在编程中,数组是一种存储相同类型数据的容器,而二维数组则是指包含多行和多列数据的数组,它可以用来表示矩阵、表格等复杂的数据结构。C# 中的二维数组可以说是一种比较常用的数据类型。
1.1 如何声明二维数组?
在 C# 中,我们可以使用类似如下的语法来声明一个二维数组:
int[,] array = new int[3,4]; // 表示一个包含 3 行、4 列的二维数组
其中 int 表示数组中元素的类型,[,] 表示该数组是一个二维数组,3 表示数组的行数,4 表示数组的列数。
也可以在声明时直接初始化二维数组,例如:
int[,] array = { {1,2}, {3,4}, {5,6} };
上面的代码表示一个包含 3 行、2 列的二维数组,其中元素的取值为:
| 1 2 |
| 3 4 |
| 5 6 |
1.2 如何访问二维数组中的元素?
访问二维数组中的元素可以通过索引,主要有两种方式:
使用下标符号“[]”
使用 GetLength() 方法获取数组的行和列,再使用 for 循环遍历数组。
下面是使用下标符号的示例代码:
int[,] array = { {1,2}, {3,4}, {5,6} };
int value = array[1,0]; // 获取第 2 行第 1 列元素,即值为 3
2. 二维数组的应用场景
二维数组在编程中有很多应用场景,其中最常见的一种就是用来表示矩阵。例如,下面是一个 3×3 的矩阵:
| 1 2 3 |
| 4 5 6 |
| 7 8 9 |
我们可以用一个二维数组来表示它:
int[,] matrix = { {1,2,3}, {4,5,6}, {7,8,9} };
除了表示矩阵之外,二维数组还可以用来存储表格数据,例如 Excel 表格中的数据就可以使用二维数组来表示。在游戏开发领域,二维数组也有很多应用,例如存储地图数据等。
3. 二维数组的遍历
遍历二维数组可以使用 for 循环语句,这里需要嵌套两次 for 循环,分别遍历数组的行和列。例如:
int[,] array = { {1,2}, {3,4}, {5,6} };
for (int i = 0; i < array.GetLength(0); i++)
{
for (int j = 0; j < array.GetLength(1); j++)
{
Console.Write(array[i,j] + " ");
}
Console.WriteLine();
}
上面的代码会输出以下结果:
1 2
3 4
5 6
4. 二维数组的示例代码
下面是一个将矩阵顺时针旋转 90 度的示例代码:
int[,] matrix = {
{1,2,3},
{4,5,6},
{7,8,9}
};
int n = matrix.GetLength(0);
int m = matrix.GetLength(1);
int[,] rotatedMatrix = new int[m,n];
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
rotatedMatrix[j,n-1-i] = matrix[i,j];
}
}
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
{
Console.Write(rotatedMatrix[i,j] + " ");
}
Console.WriteLine();
}
上面的代码会输出以下结果:
7 4 1
8 5 2
9 6 3
5. 总结
二维数组是 C# 中常用的数据类型,它可以方便地表示矩阵、表格等复杂的数据结构,同时还有很多应用场景。在使用二维数组时,我们可以通过索引访问数组中的元素,也可以通过 for 循环遍历数组。编写高效的二维数组程序,需要熟练掌握它的声明、访问和遍历等基本用法。