int [] pins;
int [,] items = new int [4,6];//初始化一个长6宽4的二维数组items[4,6] = 99;//给i=4,j=6的位置赋值99数组维数无限制,但是要小心内存不够用Time [] times;数组元素还可以是结构、枚举或者类。最好为数组变量取一个复数名称var names = new[]{"John","Diana","James","Francesca"};
Length是数组的属性(property)而不是方法,所以调用它时不需要使用圆括号。记得数组编号是从0开始可以用foreach的方法遍历整个数组如int [] pins = {9,3,7,2};foreach(int pin in pins){ Console.WriteLine(pin);}foreach语句声明了一个循环变量(本例是int pin)它自动获取数组中每个元素的值。注意:foreach只能遍历所有元素,当你需要遍历部分的时候使用for; foreach遍历的是从前往后,如果需要反向变量则需要使用for; 如果循环的主体需要知道元素的索引,而非只是值需要用for; 如果需要修改数组元素的值则必须用for,因为foreach循环的副本。前面有说数组是引用类型。这就意味着和其他引用类型一样在复制了一个数组变量后,将获得对同一个数组实例的两个引用。
int [] pins = {9,3,7,2};int [] alias = pins;//实则引用同一个数组实例当修改了其中一个,另一个也被修改了在复制数组的时候,除了我们能想到的逐个元素的赋值外,还有如下方法:
int [] pins = {9,3,7,2};int [] copy = new int[pins.Length];pins.CopyTo(copy,0);//--------------------------int [] pins = {9,3,7,2};int [] copy = new int[pins.Length];Array.Copy(pins,copy,copy.Length);//--------------------------目标数组在调用Copy之前必须初始化int [] pins = {9,3,7,2};int [] copy = (int[])pins.Clone();//----------这里需要说明一个,Clone方法实际返回的是一个object//所以在调用的时候必须强制转换成具有恰当类型的一个数组用以上方法复制的数组,创建的都是数组的一个【浅拷贝】数组如果包含引用的话,CopyTo,Copy,Clone只是复制引用,不会复制被引用的对象,复制后都会引用同一组对象。