C# List 排序各种用法与比较
下面介绍各种List的sort的用法与比较
首先,我们建一个People的实体,有name、age、sex的属性,我们要排序的字段是年龄age
新建一个实体类
publicclassPeople
{
publicstringname{get;set;}
publicintage{get;set;}
publicstringsex{get;set;}
}
新建list的数据
List<People>peoples=newList<People>()
{
newPeople(){age=11,name="alun",sex="男"},
newPeople(){age=25,name="陈敬桃",sex="男"},
newPeople(){age=9,name="惠安",sex="男"},
newPeople(){age=45,name="小票",sex="女"},
newPeople(){age=3,name="晓鸥",sex="女"},
newPeople(){age=70,name="望谟",sex="男"}
};
1.第1种排序方法,使用IComparer
publicclassPeopleAgeComparer:IComparer<People>
{
publicintCompare(Peoplep1,Peoplep2)
{
returnp1.age.CompareTo(p2.age);
}
}
peoples.Sort(newPeopleAgeComparer());
可以看到第一种方法比价麻烦,要新建一个新的类来做
2.第2种排序方法,使用委托来排序
peoples.Sort(delegate(Peoplep1,Peoplep2){returnp1.age.CompareTo(p2.age);});
看委托的方式很方便,不用新建类这么麻烦。
3.第2种排序方法,使用Lambda表达式来排序
peoples.Sort((a,b)=>a.age.CompareTo(b.age));
目测排序有这3种方法,个人觉得还是Lambda表达式使用得方便。
通过此文希望能帮助大家,谢谢大家对本站的支持!
热门推荐
10 新人红包祝福语简短精辟
11 幼师给毕业祝福语简短
12 生日高考祝福语妹妹简短
13 下飞机祝福语简短英文
14 元宵发客户祝福语简短
15 爸妈金婚文案祝福语简短
16 新郎朋友红包祝福语简短
17 虎年五一祝福语大全简短
18 出阁宴祝福语姐姐简短