C# 多维数组
多维数组
在上一章中,你了解了 数组,也称为 一维数组。这些都很棒,而且在用 C# 编程时会经常用到。但是,如果你想以表格形式存储数据,比如有行和列的表格,你需要熟悉 多维数组.
多维数组基本上是数组的数组。
数组可以有任意数量的维度。最常见的是二维数组 (2D)。
二维数组
要创建二维数组,请将每个数组添加到其自己的花括号内,然后插入逗号 (,
) 放在方括号内:
例子
int[,] numbers = { {1, 4, 2}, {3, 6, 8} };
很高兴知道: 单个逗号[,]
指定数组是二维的。三维数组将有两个逗号:int[,,]
.
numbers
现在是一个包含两个数组元素的数组。第一个数组元素包含三个元素:1、4 和 2,而第二个数组元素包含 3、6 和 8。为了形象化,可以将数组视为具有行和列的表格:
第 0 列 | 第 1 栏 | 第 2 栏 | |
---|---|---|---|
第 0 行 | 1 | 4 | 2 |
第 1 行 | 3 | 6 | 8 |
访问二维数组的元素
要访问二维数组的元素,必须指定两个索引:一个用于数组,一个用于数组内的元素。或者更好的是,考虑到表格可视化;一个用于行,一个用于列(见下面的示例)。
此语句访问元素的值 第一行 (0) 和第三列(2) 的numbers
大批:
请记住: 数组索引从 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]);
}
}