Il existe trois façons de trier la liste, le comparateur personnalisé, le tri lamda et le tri de méthode personnalisée. Voici le code source:
1 utilisant le système; 2 utilisant System.Collections.Generic; 3 4 namespace CustomDLL 5 { 6 public class PeopleCompare: IComparer <People> 7 { 8 public int Compare (People x, People y) 9 { 10 return x.age.CompareTo (y.age); 11 } 12 } 13 14 classe publique Personnes 15 { 16 ans int public ; 17 } 18 19 classe publique City 20 { 21 List <People> allPeople = new List <People> (); 22 23 PeopleCompare peopleCompare = nouveau 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 }
Générez la dll et voyez la différence entre ces trois façons grâce à la décompilation:
En observant le nombre de lignes source et le résultat de la décompilation, vous pouvez constater que la méthode personnalisée doit être préférée pour trier la liste.