声明和创建数组
声明数组方式如下:
int [] pins;
数组元素并非只能是基元数据类型,还可以是结构、枚举或类.
比如,以下代码创建由Time结构构成的数组.
Time[] times;
创建数组实例
无论元素是什么类型,数组始终都是引用类型.
声明数组变量时不需要指定大小,也不会分配内存(仅仅在栈上分配一小块用于存储引用的内存).创建数组实例时才分配内存,数组大小也在这时指定.
pins = new int[4];
上面用new关键字创建数组实例,会使用默认值对其元素进行初始化。
…
…
…
填充和使用数组
创建数组实例时,所有元素都被初始化为默认值.例如,所有数值初始化为0,对象初始化为Null。可以修改这个行为:
int[] pins = new int[4]{
1,2,3,4};
大括号中的值不一定是常量,也可以是运行时计算的值.
注意:大括号中的值的数量必须和要创建的数组实例的大小完全匹配:
初始化数组变量时可以省略new表达式和数组大小。让编译器根据初始值的数量计算大小:
int [] pins = {
1,2,3,4};
…
…
…
创建隐式类型的数组
可让C#编译器自己推断数组元素的类型,如下所示:
var names = new[]{
"Jack","tom","Bob","Nancy"};
在这个例子中,C#编译器推断names是string类型的数组变量.
注意:本例中的names变量被直接声明为var,而不是var[].
其次,必须在初始值列表之前添加new[].
使用这种语法,必须保证所有初始值都有相同的类型.
…
…
…
访问单独的数组元素
必须通过索引来访问单独的数组元素.
int mypin;
mypin = pins[1];
mypin = 1;
pins[2] = mypin;
…
…
…
遍历数组
所有的数组都是System.Array类的实例
该类定义了许多有用的属性和方法。比