C#数组根据字段排序

C#数组根据字段排序

浅记一下

1. List/Array.OrderBy()

public void Test()
{
    Data[] _dataArr = new Data[5];
    _dataArr[0] = new Data(1, 10);
    _dataArr[1] = new Data(2, 3);
    _dataArr[2] = new Data(3, 9);
    _dataArr[3] = new Data(4, 18);
    _dataArr[4] = new Data(5, 1);

    //正序排序
    Data[] _arr = _dataArr.OrderBy(_data => _data.Value).ToArray();
    //倒序排序
    _arr = _dataArr.OrderByDescending(_data => _data.Value).ToArray();

    foreach (var item in _arr)
    {
        Debug.Log(item.Value);
    }
}

public class Data
{
    public int ID;
    public int Value;

    public Data(int _id,int _value)
    {
        ID = _id;
        Value = _value;
    }

}

2. Array.Sort()

public void Test()
{
    Data[] _dataArr = new Data[5];
    _dataArr[0] = new Data(1, 10);
    _dataArr[1] = new Data(2, 3);
    _dataArr[2] = new Data(3, 9);
    _dataArr[3] = new Data(4, 18);
    _dataArr[4] = new Data(5, 1);

    //正序排序
    Array.Sort(_dataArr, (a, b) => a.Value.CompareTo(b.Value));
    //倒序排序
    Array.Sort(_dataArr, (a, b) => b.Value.CompareTo(a.Value));

    foreach (var item in _dataArr)
    {
        Debug.Log(item.Value);
    }
}

public class Data
{
    public int ID;
    public int Value;

    public Data(int _id,int _value)
    {
        ID = _id;
        Value = _value;
    }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值