二维数组的声明和访问
二维数组,就是以数组作为元素的数组。挺拗口的,看看它跟一维数组的对比:

左边的 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] 。
总结一下,二维数组这样声明:
csharp
int[,] arr = new int[2,3]; //包含 2 个一维数组,每个一维数组包含 3 个变量,总共 2*3=6 个数组元素二维数组元素这样赋值和打印:
csharp
arr[1,0] = 28; //二维数组元素有 2 个索引,都是从 0 开始,以 arr 数组为例,元素索引从 [0,0] 到 [1,2]
Console.Write( arr[1,0] );我们可以用二维数组管理相关的数据,比如有 4 名同学参加语文和数学两门考试,我们用二维数组存储他们的成绩,每位同学的 2 门课分数,存储在一个一维数组中:

运行结果如下:
任务
请在右边代码第 12 行填写 ch 数组的 3 个元素索引,使得程序能够打印出“工程师”。
代码
csharp
using System;
using System.Collections.Generic;
using System.Text;
namespace Test
{
class Program
{
static void Main(string[] args)
{
char[,] ch = { {'我','是','软'},{'件','工','程'},{'师','啦','!'}};
Console.WriteLine("{0}{1}{2}",ch[1,1],ch[1,2],ch[2,0]);
}
}
}