比较器 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值,集合是由小到大排列的。

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

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

上一篇:在C#中异步使用IComparer


下一篇:CodeGo.net>如何正确排序数据表的字符串数列