C#ソートリストの3つの方法の比較

リスト、カスタムコンパレータ、ラムダソート、カスタムメソッドソートの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つの方法の違いを逆コンパイルで確認します。

ソース行の数と逆コンパイルの結果を観察すると、リストの並べ替えにはカスタムメソッドの方が適していることがわかります。

おすすめ

転載: www.cnblogs.com/luguoshuai/p/12760848.html