C# List排序

本文介绍了C#中List的两种排序方法:一是使用内置的Sort方法,二是通过自定义类并实现IComparable接口进行排序。对于自定义类,详细解释了如何通过泛型和object类型重写CompareTo方法,并提供了通过委托和Lambda表达式调用排序的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、自带方法Sort进行排序

2、自定义类的排序

  • 通过继承IComparable接口并重写

IComparable有两种,参数分别为泛型和object,方法类似,只是object需要通过as转换为指定类,稍微麻烦

class Item : IComparable<Item> {
    public int money;

    public Item(int money) {
        this.money = money;
    }

    public int CompareTo(Item other) {
        // 返回值的含义
        // 小于0:放在传入对象的前面
        // 等于0:保持当前位置不变
        // 大于0:放在传入对象的后面

        return this.money <= other.money ? -1 : 1;      // 小的放在前面
    }
}

调用:

List<Item> list = new List<Item>();
Random r = new Random();

for(int i = 0; i < 10; ++i) {
    int value = r.Next(1, 100);
    list.Add(n
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值