• 比较器 Comparison 与 IComparer


    Comparison 的使用

    var comparer = new Comparison<Tmx2ESModel>((Tmx2ESModel x, Tmx2ESModel y) =>
                {
                    if (x.RequestGuid == targetGuid && y.RequestGuid == targetGuid)
                    {
                        return 0; //不变
                    }
                    else if (x.RequestGuid == targetGuid && y.RequestGuid != targetGuid)
                    {
                        return -1; //向前排
                    }
                    else
                    {
                        return 1; //向后排
                    }
                });
    

    排序完之后,按照返回的int值,集合是由小到大排列的。

    //一般用StringComparison.Ordinal
    //不区分大小写StringComparison.OrdinalIgnoreCase
    files.Sort((x,y)=> string.Compare(x.FileName, y.FileName, StringComparison.InvariantCultureIgnoreCase));
    

    两个接口提供的方法返回值都是int类型的,负数代表小于,0代表等于,正数代表大于。

    使用无参Sort()时,集合中至少要有一个类实现了IComparable,否则会报错。

  • 相关阅读:
    maven私服
    docker
    mysql ip
    jenkins安装
    centeros7防火墙操作
    centeros7 gitlap安装
    nexus安装及使用(maven私服掌握)
    idea永久激活使用
    redis密码验证
    Nginx服务优化配置
  • 原文地址:https://www.cnblogs.com/tangge/p/15852478.html
Copyright © 2020-2023  润新知