数组操作
数组复制
因为数组是引用类型,所以将一个数组变量赋予另一个数组变量,就会得到两个引用同一数组的变量。
复制数组需要实现ICloneable
接口。这个接口定义的Clone()
方法会创建数组的浅复制。
除了使用Clone()方法外,还可以使用Array.Copy()
浅复制。但是Clone()会创建一个新数组,而Copy()方法传递已有数组。
数组排序
IComparable
接口
Array类使用快速排序算法对数组元素进行排序。Sort()
方法需要数组元素实现IComparable
接口。
这个接口定义了一个CompareTo()
方法,如果相等就返回0,如果应该排在参数对象的前面,需要返回小于0的值。
IComparer
接口
如果不能修改数组元素的类,就可以使用IComparer接口。
CRE:定义一个ElementComparer类,继承IComparer接口并实现Compare()
方法,就可以进行排序了。
(END)