1. 概念
二维组有两索引(索引号都是从0开始),其中一个表示行,一个表示列。从概念上讲,二维数组就像一个具有行和列的表格一样。
2. 定义和创建
定义一个3行2列的数组
int[,] arr = new int[3, 2];
注:在声明或创建数组时,[]内的逗号数目加1即维度数加1
3. 初始化
声明时初始化
int[,] number = new int[3, 2] { { 1, 2 }, { 3, 4 }, { 5, 6 } };
省略数组大小初始化
int[,] number = new int[, ] { { 1, 2 }, { 3, 4 }, { 5, 6 } };
省略new关键字初始化
int[,] number = { { 1, 2 }, { 3, 4 }, { 5, 6 } };
4. 使用数组
获得元素
二维数组元素的引用方式为
数组名[下标表达式1,下标表达式2]
注:下标都是从0开始
获得第一行第2列元素的值
Console.WriteLine(number[0, 1]);
获得多维数组的长度
- Rank:返回数组的维数
- GetLength(0):返回数组第一维的长度
- GetLength(1):返回数组第二维的长度
- GetUpperBound(0):返回第一维的最大下标值
- GetUpperBound(1):返回第二维的最大下标值
注:GetUpperBound(0)= GetLength(0)-1
Console.WriteLine("数组的维数:"+arr.Rank);
Console.WriteLine("第1维数组的长度" + arr.GetLength(0));
Console.WriteLine("第1维数组的最大下标" + arr.GetUpperBound(0));
5 遍历二维数组
使用双重for循环
for (int i = 0; i < arr.GetLength(0); i++)
{
for (int j = 0; j < arr.GetLength(1); j++)
{
Console.Write("arr[{0},{1}]={2}\t", i, j, arr[i, j]);
}
Console.WriteLine();
}
使用foreach循环
foreach (var item in number)
{
Console.Write(item + " ");
}