
下面介绍各种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的数据
List<People> peoples = new List<People>() { new People() {age = 11,name="alun",sex = "男"},new People() {age=25,name = "陈敬桃",new People() {age=9,name = "惠安",new People() {age = 45,name = "小票",sex = "女"},new People() {age=3,name = "晓鸥",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表达式来排序
peoples.sort( (a,b) => a.age.Compareto(b.age) );
目测排序有这3种方法,个人觉得还是Lambda表达式使用得方便。
通过此文希望能帮助大家,谢谢大家对本站的支持!
总结以上是内存溢出为你收集整理的C# List 排序各种用法与比较全部内容,希望文章能够帮你解决C# List 排序各种用法与比较所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)