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());
  • 相关阅读:
    git
    *** errRun
    Centos与Debian的安装命令
    HTML基础
    基本的SQL语言
    phpstudy靶场搭建
    Centos7下搭建服务器(apache+mysql+php)
    Centos7设置yum源
    Linux基础
    一个服务器中搭建多个站点
  • 原文地址:https://www.cnblogs.com/powerzhang/p/3332676.html
Copyright © 2011-2022 走看看