C# 二维数组
二维数组:它表示一个 表格数据。有行有列。与数组的特点一样:所有的数据的类型相同,并且存储的个数固定。
二唯数组的创建
元素的类型[ , ] 数组的名称=new 元素的类型[行数,列数];
1 int[,] arr = new int[4, 3];
表示声明了一个指定行数,每一行有指定列数的一个表结构。
二维数组的元素的个数:行数*列数
为二维数组中的元素赋值
二维数组中的元素必须通过行列两个坐标来确定。确定这个元素在第几行的第几列。二维数组中的行列坐标从0开始。
在索引器中写上行坐标和列坐标就可以定位到指定的元素。
数组名称[行坐标,列坐标]=值;
1 int[,] array1 = new int[4, 2]; 2 array1[0, 0] = 1;//为二维数组的第0行、0列赋值 3 array1[0, 1] = 2;//为二维数组的第0行、1列赋值 4 array1[3, 0] = 4;//为二维数组的第3行、0列赋值
可以在声明数组时将其初始化,如下例所示:
1 int[,] array1 = new int[,] { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } }; 2 3 int[,] array2 = { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } }; 4 5 string[,] array3 = new string[2, 2] { { "one", "two" }, { "three", "four" } };
取值
仍然通过行坐标、列坐标取值。
一维数组表示一条线。确定线上的一点只要一个坐标。
二维数组表示一个面。确定面上的一点要2个坐标
1 int[,] array1 = new int[,] { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } }; 2 int num1 = array1[0, 0];//取出数组中第0行,第0列的值 3 int num2 = array1[2, 1];//取出数组中第2行,第1列的值
遍历
一维数组中,Length属性代表数组中的元素的个数,而二维数组中的Length指的是行*列
a、使用foreach可以简单快速的遍历。
b、数组的GetLength()可以得到指定纬度的长度。其方法传入0 可以得到行数。 传入1 可以得到列数
1 int[,] arr = new int[,] { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } }; 2 for (int i = 0; i < arr.GetLength(0); i++) 3 { 4 for (int j = 0; j < arr.GetLength(1); j++) 5 { 6 Console.Write(arr[i, j]); 7 } 8 }