C#的二维数组的声明和访问
C#的二维数组的声明和访问
二维数组,就是以数组作为元素的数组。挺拗口的,看看它跟一维数组的对比:
左边的 a 是一维数组,数组中包含 4 个 int 型变量:a[0]、a[1]、a[2]、a[3] 。
右边的 b 是二维数组,数组中包含 2 个 int 型一维数组:b[0]、b[1] 。而 b[0] 和 b[1] 中又分别包含 3 个 int 型变量:b[0,0]、b[0,1]、b[0,2]、b[1,0]、b[1,1]、b[1,2] 。
总结一下,二维数组这样声明:
int[,] arr = new int[2,3]; //包含2个一维数组,每个一维数组包含3个变量,总共2*3=6个数组元素
二维数组元素这样赋值和打印:
arr[1,0] = 28; //二维数组元素有2个索引,都是从0开始,以arr数组为例,元素索引从[0,0]到[1,2] Console.Write( arr[1,0] );
我们可以用二维数组管理相关的数据,比如有 4 名同学参加语文和数学两门考试,我们用二维数组存储他们的成绩,每位同学的 2 门课分数,存储在一个一维数组中:
输出结果:
以上内容节选自 《慕课网》
一次考试,各位同学的姓名和分数如下:
请编写程序,输出分数最高的同学的姓名和分数。
static void Main(string[] args) { string[,] s = new string[2, 8] { {"吴松", "钱东宇", "伏晨", "陈陆", "周蕊", "林日鹏", "何昆", "关欣" }, { "89", "90", "98", "56", "60", "91", "93", "85" } };//定义一个二维数组。 int max = -1;//定义一个整型变量。 string name="";//定义一个字符串变量 for (int i=0;i<8;i++)//循环 { int cj = Convert.ToInt32(s[1,i]);//把成绩转变成整数 if (cj>max)//判断。 { max = cj;//赋值最大成绩 name = s[0, i];//赋值最大成绩的名字。 } } Console.WriteLine("分数最高的是{0},分数是{1}",name,max);//输出。 Console.ReadKey(); }
输出结果: