C# List 排序各種用法與比較
下面介紹各種List的sort的用法與比較
首先,我們建一個(gè)People的實(shí)體,有name、age、sex的屬性,我們要排序的字段是年齡age
新建一個(gè)實(shí)體類(lèi)
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è)新的類(lèi)來(lái)做
2. 第2種排序方法,使用委托來(lái)排序
peoples.Sort(delegate (People p1, People p2) { return p1.age.CompareTo(p2.age); });
看委托的方式很方便,不用新建類(lèi)這么麻煩。
3. 第2種排序方法,使用Lambda表達(dá)式來(lái)排序
peoples.Sort( (a, b) => a.age.CompareTo(b.age) );
目測(cè)排序有這3種方法,個(gè)人覺(jué)得還是Lambda表達(dá)式使用得方便。
通過(guò)此文希望能幫助大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
C#中的DateTime是值類(lèi)型還是引用類(lèi)型
近期遇到了DateTime到底是值類(lèi)型還是引用類(lèi)型的疑惑,順勢(shì)較深入地了解一下DateTime相關(guān)的內(nèi)容,大家有需要的朋友可以參考下2017-04-04
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#中重寫(xiě)tospring方法的實(shí)現(xiàn)
重寫(xiě)ToString方法允許你自定義對(duì)象的字符串表示形式,本文主要介紹了C#中重寫(xiě)tospring方法的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2024-08-08
C#編程實(shí)現(xiàn)獲取文件夾中所有文件的文件名
這篇文章主要介紹了C#編程實(shí)現(xiàn)獲取文件夾中所有文件的文件名,可實(shí)現(xiàn)獲取特定目錄下制定類(lèi)型文件名稱的功能,涉及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)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用C#具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(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

