zhouqijie

数组操作

数组复制

因为数组是引用类型,所以将一个数组变量赋予另一个数组变量,就会得到两个引用同一数组的变量。

复制数组需要实现ICloneable接口。这个接口定义的Clone()方法会创建数组的浅复制。

除了使用Clone()方法外,还可以使用Array.Copy()浅复制。但是Clone()会创建一个新数组,而Copy()方法传递已有数组。

数组排序

Array类使用快速排序算法对数组元素进行排序。Sort()方法需要数组元素实现IComparable接口。
这个接口定义了一个CompareTo()方法,如果相等就返回0,如果应该排在参数对象的前面,需要返回小于0的值。

如果不能修改数组元素的类,就可以使用IComparer接口。

CRE:定义一个ElementComparer类,继承IComparer接口并实现Compare()方法,就可以进行排序了。

(END)