数组,望文生义,就是数字的组合
。

好像不大对哎。翻翻书,原来数组就是一个变量的下标列表,存储在数组类型的的变量中。
在C#中数组是这样定义的:类型 数组名[数组大小]={数组内容},比如下面就是典型的一维数组

与C语言不同的是,C#的[ ]是加在类型后面,而不是数组名后面的。
数组有几个特点:
1、数组中所有变量都是同一类型的。
2、定义数组的时候可以指定大小和内容,也可以只指定大小不指定内容,或者只指定内容不指定大小,也可以两者都不指定。
3、C#中的数组下标是从0开始的,同VBS不同。
4、如果指定数组中的某个值,表达方式是"数组名[下标]"
一维数组
我们来看看怎么显示数组中的内容,以一个int类型的数组为例





显示结果
报数:arr[0] 是 3
报数:arr[1] 是 7
报数:arr[2] 是 1
报数:arr[3] 是 5
报数:arr[4] 是 9
报数:arr[5] 是 11
请按任意键继续. . .
报数:arr[1] 是 7
报数:arr[2] 是 1
报数:arr[3] 是 5
报数:arr[4] 是 9
报数:arr[5] 是 11
请按任意键继续. . .
还有一个更简单的方法,用foreach






显示结果
报数:3
报数:7
报数:1
报数:5
报数:9
报数:11
请按任意键继续. . .
报数:7
报数:1
报数:5
报数:9
报数:11
请按任意键继续. . .
比较一下for循环和foreach循环,可以发现,foreach循环虽然语句更简洁,但是却没办法表现一个很重要的东西:数组的下标。因为变量i本身就是数组中的变量,当然没法再显示下标了。在for循环中,实际上是间接的用i作为下标取得了数组中对应的变量。因此,foreach仅仅适用于取得数组中的变量值。
二维数组
这个,语言匮乏了。。。。实际上我们大家都背过的九九乘法表就是一个二维数组,我们打印出来看看就知道了








1 2 3 4 5 6 7 8 9
2 4 6 8 10 12 14 16 18
3 6 9 12 15 18 21 24 27
4 8 12 16 20 24 28 32 36
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81
请按任意键继续. . .
2 4 6 8 10 12 14 16 18
3 6 9 12 15 18 21 24 27
4 8 12 16 20 24 28 32 36
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81
请按任意键继续. . .
二维数组表达方式是"数组名[行][列]",比如那个81就是arr[8][8],注意不是arr[9][9],因为下标是从0开始的。c#中二维数组的定义也和C不同,是这样定义的:

数组的数组
所谓数组的数组,就是行数确定,列数各行不同的二维数组,这种数组在定义的时候,必须定义行数,但是列数为空,在赋值的时候也要使用"new 类型[ ]"方式赋值。
表达方式和C中二维数组倒是差不多:

这种数组无法使用foreach来取得变量值,但是仍然可以用两个for循环来获得值:









1 2 3 4 5
6 7
8 9 10
请按任意键继续. . .
6 7
8 9 10
请按任意键继续. . .
转载于:https://blog.51cto.com/catmao/264448