リスト、カスタムコンパレータ、ラムダソート、カスタムメソッドソートの3つの方法があります。以下はソースコードです:
1 システムを使用。 2 System.Collections.Generic を使用します。 3 4 名前空間CustomDLL 5 { 6 パブリック クラス PeopleCompare:IComparer <People> 7 { 8 public int Compare(People x、People y) 9 { 10 return x.age.CompareTo(y.age); 11 } 12 } 13 14 public class People 15 { 16 public int age; 17 } 18 19 public class City 20 { 21 List <People> allPeople = new List <People> (); 22 23 PeopleCompare peopleCompare = new PeopleCompare(); 24 // 自定义比较器排序 25 public void SortPeopleFun1() 26 { 27 allPeople.Sort(peopleCompare); 28 } 29 30 // Lamda排序 31 public void SortPeopleFun2() 32 { 33 allPeople.Sort((a、b)=> { return a.age.CompareTo(b.age);}); 34 } 35 36 // 自定义メソッド排序 37 public void SortPeopleFun3() 38 { 39 allPeople.Sort(Sort); 40 } 41 42 int Sort(People a、People b) 43 { 44 return a.age.CompareTo(b.age); 45 } 46 } 47 }
DLLを生成し、これらの3つの方法の違いを逆コンパイルで確認します。
ソース行の数と逆コンパイルの結果を観察すると、リストの並べ替えにはカスタムメソッドの方が適していることがわかります。