好了一切準備就緒,現在希望EmployeeList中得"僱員"是按年齡排序的。
咋辦呢?
其實很簡單,我們沒必要自己去實現某個排序方法,冒泡或其他什麼的。ArrayList 提供了我們現成的排序方法Sort();
它有三個重載,不管使用哪一個,至少要你提供一個Comparer:IComparer;來告訴Sort方法 你對"僱員"們的排序依據。
這個Comparer必須實現介面:System.Collections.IComparer ,該介面只有一個成員函數需要你去實現。
描述如下:
[Visual Basic]
Function Compare( _
ByVal x As Object, _
ByVal y As Object _
) As Integer
[C#]
int Compare(
object x,
object y
);
[C++]
int Compare(
Object* x,
Object* y
);
[JScript]
function Compare(
x : Object,
y : Object
) : int;
(可以去參考msdn)
知道了這些那我們來實現一個吧
private class myEmployeeCompare:System.Collections.IComparer {
public int Compare(object x,object y){
return ((Eployee)x).age-((Eployee)y).age;
}