Comparaison de trois méthodes de liste de tri C #

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.

Je suppose que tu aimes

Origine www.cnblogs.com/luguoshuai/p/12760848.html
conseillé
Classement