我们上节内容介绍了数组,我们知道了原来数组是一堆同类型的数据元素,并且我们简单实现了整形数组、字符串数组、字符数组和布尔数组,至此我们掌握了一种,将一堆每个都是独自个体的数据变成有关联关系的数据的方式。
这时,如果我们操作学生数据,比如操作一个班级中6个学生的名字:
string[] names = new string[6] {"小a", "小b", "小c", "小d", "小e", "小f" };
这相当于我们创建一个表格,每一个格子中放一个数据,这个表格就是一组数据。
比如操作一个班级中6个学生的成绩:
int[] scores = new int[6] { 11, 12, 13, 14, 15, 16 };
不过这时候,我们有一个程序需求:我们在写操作颜色的软件工具的时候,会有一个需求,将用户选择的颜色保存,假设,我们保存红色、蓝色、绿色、黑色这四种颜色。
这时,我们先要知道计算机是怎么表示颜色的:我们通过查找资料得知计算机表示颜色的一种方法是RGB颜色表示法,也就是用三个数字来表示颜色的一种方式,我们准备一张纯色图片:
然后用我们的颜色提取器,提取对应颜色的数值:
那么用RGB颜色表示法,用颜色提取器我们得到:
红色为255 0 0
蓝色为0 0 255
绿色为0 255 0
黑色为0 0 0
哎呀,此时我们发现,一个颜色竟然用三个数字来表示,我们需要做的是,将这四个颜色变成一组可操作的内容,也就相当于,我们需要一个四行三列的表格:
但是此时,我们观察我们学过的数组,我们现有的知识,我们只会一列的这种数组,这可怎么办呢?
但是不用担心,C#为我们考虑到了这种情况,也就是这种多行多列的数据表现形式,在C#中叫做多维数组,我们之前学习的叫做一维数组。
多维数组的声明语法是:数据类型[,] 数组名;
那么我们的这个颜色数组可以这样声明:int[,] color;
初始化多维数组的方式是:new 数据类型[行数,列数]
那么我们的这个颜色数据初始化的方式就是 :color = new int[4, 3];因为我们有四个颜色,每个颜色三个数字表示嘛。
不过之前我们说过,数组有四种表示方式,比如
第一种:
int[] scores;
scores=new int[4];
第二种:
int[] scores=new int[4];
第三种:
int[] scores=new int[4]{1,2,3,4};
第四种:
int[] scores=new int[]{1,2,3,4};
简写为int[] scores={1,2,3,4};
那么针对我们的多维数组也是一样的喽,我们可以参照一维数组来尝试用四种方式初始化多维数组。
第一种:
int[,] color;
color = new int[4, 3];
第二种:
int[,] color = new int[4, 3];
第三种:
int[,] color =new int[4,3]{{255,0,0},{0,0,255},{0,255,0},{0,0,0}};
第四种:
int[,] color =new int[,]{{255,0,0},{0,0,255},{0,255,0},{0,0,0}};
简写
int[,] color = {{255,0,0},{0,0,255},{0,255,0},{0,0,0}};
我们在调用数组的时候,一维数组的调用方式是:数组名[索引值]
这样说来,多维数组的调用方式是:数组名[行索引,列索引],但是需要注意的是,数组的开始索引都是0,不是1哦!
那么,如果我们想将蓝色取出来,就是:
屏幕前的你学会了吗!