C#中数组

C#中数组大小是可变的
 声明不包括数组大小
int[] pins
定义:
int[] pins = new int[3]{1,2,3};
var pins=new[]{1}  //进行自动类型推断
隐式类型数组尤其适用于匿名类型
var name = new new{Name:"John",Age=47},new{Name:"Mary",Age=47}
C#会进行数组下标越界检查,越界将抛出异常
 length是数组的属性而非方法,不需要()
foreach语句可以遍历数组,但不可用于修改数值(因为是只读拷贝)
foreach(int pin in pins){
}
数组是引用类型,要真正深拷贝一个数组需要逐个元素复制
int[] pins = new int[3]{1,2,3};
int[] copy = new int[pins.length];
for(int I=0;i<pins.length;i++){
    copy[I]=pins[I];
}

System.Array的方法copy
第一个参数是要拷贝到的数组,第二个参数是开始拷贝的元素索引
int[] pins = new int[3]{1,2,3};
int[] copy = new int[pins.length];
pins.copyTo(copy,0);

 也可使用System的静态方法Array.copy()
int[] pins = new int[3]{1,2,3};
int[] copy = new int[pins.length];
pins.copyTo(pins,copy,pins.length); 

 也可使用System的实例方法Clone() 
int[] pins = new int[3]{1,2,3};
int[] copy = (int[])pins.Clone();
  

你可能感兴趣的:(C#中数组)