• 欢迎访问我爱CSharp学习网,这里有最新最全的C#书籍,C#视频。
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏我爱C#学习网吧
  • 推荐使用最新版Chrome浏览器和火狐浏览器访问本网站

C# List 排序各种用法与比较

C#杂烩 52csharp 1938次浏览 0个评论 扫描二维码

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的数据

C# List 排序各种用法与比较

            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 = ""}             };

C# List 排序各种用法与比较

 

1. 第1种排序方法,使用 IComparer

C# List 排序各种用法与比较

    public class PeopleAgeComparer : IComparer<People>     {        public int Compare(People p1, People p2)         {            return p1.age.CompareTo(p2.age);         }     }  peoples.Sort(new PeopleAgeComparer());

C# List 排序各种用法与比较

可以看到第一种方法比价麻烦,要新建一个新的类来做

 

 

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 排序各种用法与比较



我爱CSharp学习网 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明C# List 排序各种用法与比较
喜欢 (3)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址