lambda表达式 list排序

简单数值排序(转):

List.Sort有三种结果 1,-1,0分别是大,小,相等
升序降序比较,默认List的排序是升序排序
如果要降序排序,也很简单,只需要在前面加一个负号

List<int> tmp = new List<int>(){5,1,22,11,4};
//  升序
tmp.Sort((x, y) => x.CompareTo(y));
// 降序
tmp.Sort((x, y) => -x.CompareTo(y));
Console.WriteLine(tmp);
// 22,11,5,4,1

 

public class People
{
    public string name { get; set; }
    public double CPU { get; set; }
    public double Memory { get; set; }
    public DateTime DTime { get; set; }//时间
    public string GetStateStr()
    {
        string all = name + "CPU:" + CPU.ToString("0.##")+ "内存:" + Memory.ToString("0.##");
        return all;
    }
}

示例:

static void Main(string[] args)
{
    List<People> ss = new List<People> { };
    ss.Add(new People() { name = "aa", CPU = 12, Memory = 6,DTime = new DateTime(2007, 1, 1, 21, 21, 21) });
    ss.Add(new People() { name = "bb", CPU = 34, Memory = 1,DTime = new DateTime(2007, 1, 1, 21, 22, 21) });
    ss.Add(new People() { name = "cc", CPU = 61, Memory = 3,DTime = new DateTime(2007, 1, 1, 21, 21, 21) });

    ss.Sort((x, y) => y.Memory.CompareTo(x.Memory));//Memory字段升序排列
    //ss.Sort((x, y) => x.Memory.CompareTo(y.Memory));//降序排列

    ss.Sort((x, y) => DateTime.Compare(x.DTime, y.DTime));//时间排序

    foreach (People item in ss)
    {
        Console.WriteLine(item.GetStateStr());
    }
}

打印:

aa:CPU:12MB   内存:6MB
cc:CPU:61MB   内存:3MB
bb:CPU:34MB   内存:1MB
 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值