C# List 排序各種用法與比較
下面介紹各種List的sort的用法與比較
首先,我們建一個People的實體,有name、age、sex的屬性,我們要排序的字段是年齡age
新建一個實體類
public class People
{
public string name { get; set; }
public int age { get; set; }
public string sex { get; set; }
}
新建list的數(shù)據(jù)
List<People> peoples = new List<People>()
{
new People() {age = 11, name="alun", sex = "男"},
new People() {age=25, name = "陳敬桃", sex = "男"},
new People() {age=9, name = "惠安", sex = "男"},
new People() {age = 45, name = "小票", sex = "女"},
new People() {age=3, name = "曉鷗", sex = "女"},
new People() {age=70, name = "望謨", sex = "男"}
};
1. 第1種排序方法,使用 IComparer
public class PeopleAgeComparer : IComparer<People>
{
public int Compare(People p1, People p2)
{
return p1.age.CompareTo(p2.age);
}
}
peoples.Sort(new PeopleAgeComparer());
可以看到第一種方法比價麻煩,要新建一個新的類來做
2. 第2種排序方法,使用委托來排序
peoples.Sort(delegate (People p1, People p2) { return p1.age.CompareTo(p2.age); });
看委托的方式很方便,不用新建類這么麻煩。
3. 第2種排序方法,使用Lambda表達(dá)式來排序
peoples.Sort( (a, b) => a.age.CompareTo(b.age) );
目測排序有這3種方法,個人覺得還是Lambda表達(dá)式使用得方便。
通過此文希望能幫助大家,謝謝大家對本站的支持!
相關(guān)文章
c#判斷數(shù)據(jù)庫服務(wù)器是否已經(jīng)啟動的方法
這篇文章主要介紹了使用c#判斷數(shù)據(jù)庫服務(wù)器是否已經(jīng)啟動的方法,大家參考使用吧2014-01-01
C#實現(xiàn)圖表中鼠標(biāo)移動并顯示數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了C#實現(xiàn)圖表中鼠標(biāo)移動并顯示數(shù)據(jù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-02-02
C#實現(xiàn)利用泛型將DataSet轉(zhuǎn)為Model的方法
這篇文章主要介紹了C#實現(xiàn)利用泛型將DataSet轉(zhuǎn)為Model的方法,實例分析了C#泛型的相關(guān)使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-07-07
C# WebApi Get請求方式傳遞實體參數(shù)的方法示例
這篇文章主要給大家介紹了關(guān)于C# WebApi Get請求方式傳遞實體參數(shù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用C#具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
c# socket網(wǎng)絡(luò)編程接收發(fā)送數(shù)據(jù)示例代碼
這篇文章主要介紹了c# socket網(wǎng)絡(luò)編程,server端接收,client端發(fā)送數(shù)據(jù),大家參考使用吧2013-12-12

