C# 中的二维数组是什么?

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 循环遍历数组。编写高效的二维数组程序,需要熟练掌握它的声明、访问和遍历等基本用法。

后端开发标签