C# List 排序各種用法與比較
下面介紹各種List的sort的用法與比較
首先,我們建一個(gè)People的實(shí)體,有name、age、sex的屬性,我們要排序的字段是年齡age
新建一個(gè)實(shí)體類
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());
可以看到第一種方法比價(jià)麻煩,要新建一個(gè)新的類來做
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) );
目測(cè)排序有這3種方法,個(gè)人覺得還是Lambda表達(dá)式使用得方便。
通過此文希望能幫助大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
c#判斷數(shù)據(jù)庫(kù)服務(wù)器是否已經(jīng)啟動(dòng)的方法
這篇文章主要介紹了使用c#判斷數(shù)據(jù)庫(kù)服務(wù)器是否已經(jīng)啟動(dòng)的方法,大家參考使用吧2014-01-01
C#實(shí)現(xiàn)圖表中鼠標(biāo)移動(dòng)并顯示數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)圖表中鼠標(biāo)移動(dòng)并顯示數(shù)據(jù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02
C#編程實(shí)現(xiàn)獲取文件夾中所有文件的文件名
這篇文章主要介紹了C#編程實(shí)現(xiàn)獲取文件夾中所有文件的文件名,可實(shí)現(xiàn)獲取特定目錄下制定類型文件名稱的功能,涉及C#針對(duì)文件與目錄的遍歷、查詢等操作相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11
C#實(shí)現(xiàn)利用泛型將DataSet轉(zhuǎn)為Model的方法
這篇文章主要介紹了C#實(shí)現(xiàn)利用泛型將DataSet轉(zhuǎn)為Model的方法,實(shí)例分析了C#泛型的相關(guān)使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07
C# WebApi Get請(qǐng)求方式傳遞實(shí)體參數(shù)的方法示例
這篇文章主要給大家介紹了關(guān)于C# WebApi Get請(qǐng)求方式傳遞實(shí)體參數(shù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用C#具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(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

