c# - 使用扩展方法根据多个条件对 List<T> 进行流畅排序?

标签 c# sorting extension-methods

要根据多个条件对列表进行排序,我目前正在做类似的事情:

collection.Sort((f1, f2) =>
{
    var comp = f1.FirstCriteria.CompareTo(f2.FirstCriteria);
    return comp != 0 ? comp : f1.SecondCriteria.CompareTo(f2. SecondCriteria);
});

但是如果能够做这样的事情不是很好吗:

collection.MultipleSort(f1.FirstCriteria, f2.FirstCriteria)
          .Then(f1.SecondCriteria, f2.SecondCriteria)

对于良好实现流畅的排序界面有什么想法吗?

最佳答案

你的意思是像下面这样的?

using System.Linq;

collection.OrderBy(t => t.FirstCriteria).ThenBy(t => t.SecondCriteria);

关于c# - 使用扩展方法根据多个条件对 List<T> 进行流畅排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/802002/

相关文章:

scala - 映射 groupBy 与多排序

c - 了解 C 的排序算法

c# - 扩展方法解析

c# - LINQ 依赖计算赋值

c# - Visual Studio Windows Phone 7 播放声音

c# - HashSet 如何比较元素是否相等?

c - C 编程中数组大小分配错误?

c# - 如何通过 C++-CLI 回调和委托(delegate)将字符串从 C++-CLI 传递到 C#

c# - 如何修复 {document}.Id 不支持错误

asp.net-mvc - 未找到 Html 帮助程序扩展