zoukankan      html  css  js  c++  java
  • list<T> 自定义比较器进行排序

    今天在研究List<T> 集合如何排序,我试过很多,但是都不行,然后看到msdn中的这个比较器排序,自己测试了代码,No Problem.给大家分享一下。

    类型 T 的默认比较器按如下方式确定。

    如果类型 T 实现 IComparable<T> 泛型接口,则默认比较器为该接口的 CompareTo(T) 方法;

    否则,如果类型 T 实现非泛型 IComparable 接口,则默认比较器为该接口的 CompareTo(Object) 方法。

    如果类型 T 没有实现其中任一个接口,则不存在默认比较器,并且必须显式提供比较器或比较委托。

    示例代码:

    class GoodsInfoModelCompare : IComparer<AddModel.Add_GoodsInfoModel>
    {
        public int Compare(AddModel.Add_GoodsInfoModel a, AddModel.Add_GoodsInfoModel b)
        {
            return a.商品货号.CompareTo(b.商品货号);
        }
    }

    直接对List<T>进行排序,Sort(实例化比较器),就可以进行排序了。

    List<AddModel.Add_GoodsInfoModel> AddGoodsInfo = new List<AddModel.Add_GoodsInfoModel>();
    
    AddGoodsInfo.Sort(new GoodsInfoModelCompare());
  • 相关阅读:
    Distributed
    Archi
    SpringCloud
    Java 多线程
    Java 基础
    Java 基础
    Java 基础
    Java 基础
    python--all与any
    pandas--apply/applymap/map
  • 原文地址:https://www.cnblogs.com/powerzhang/p/3332676.html
Copyright © 2011-2022 走看看