C# 多维数组
多维数组
在上一章中,您学习了数组,也称为**一维数组**。这些非常棒,并且在使用 C# 编程时您会经常使用它们。但是,如果您想以表格形式存储数据,例如带有行和列的表格,则需要熟悉**多维数组**。
多维数组基本上是数组的数组。
数组可以具有任意数量的维度。最常见的是二维数组 (2D)。
二维数组
要创建一个二维数组,请将每个数组放在自己的花括号中,并在方括号内插入逗号(,
)
示例
int[,] numbers = { {1, 4, 2}, {3, 6, 8} };
值得注意的是:单个逗号[,]
指定数组是二维的。三维数组将有两个逗号:int[,,]
。
numbers
现在是一个数组,其元素是两个数组。第一个数组元素包含三个元素:1、4 和 2,而第二个数组元素包含 3、6 和 8。为了形象化,可以将数组视为一个带有行和列的表格
访问二维数组的元素
要访问二维数组的元素,必须指定两个索引:一个用于数组,另一个用于该数组内的元素。或者更好的是,牢记表格可视化;一个用于行,一个用于列(请参见下面的示例)。
此语句访问numbers
数组中**第一行 (0)** 和**第三列 (2)** 中元素的值
请记住:数组索引从 0 开始:[0] 是第一个元素。[1] 是第二个元素,依此类推。
更改二维数组的元素
您还可以更改元素的值。
以下示例将更改**第一行 (0)** 和**第一列 (0)** 中元素的值
示例
int[,] numbers = { {1, 4, 2}, {3, 6, 8} };
numbers[0, 0] = 5; // Change value to 5
Console.WriteLine(numbers[0, 0]); // Outputs 5 instead of 1
遍历二维数组
您可以使用foreach
循环轻松遍历二维数组的元素
示例
int[,] numbers = { {1, 4, 2}, {3, 6, 8} };
foreach (int i in numbers)
{
Console.WriteLine(i);
}
您也可以使用for 循环。对于多维数组,每个数组维度都需要一个循环。
另请注意,我们必须使用GetLength()
而不是Length
来指定循环应运行多少次
示例
int[,] numbers = { {1, 4, 2}, {3, 6, 8} };
for (int i = 0; i < numbers.GetLength(0); i++)
{
for (int j = 0; j < numbers.GetLength(1); j++)
{
Console.WriteLine(numbers[i, j]);
}
}