我正在尝试按日期对列表进行排序,然后按描述名称对列表进行排序,但是我需要所有具有特定描述的元素成为每个日期的顶部元素。
示例:
01-02-2014 "Description A"
01-02-2014 "Description B"
01-02-2014 "Description C"
01-02-2014 "Description D"
01-02-2014 "Description E"
02-02-2014 "Description A"
02-02-2014 "Description B"
02-02-2014 "Description C"
02-02-2014 "Description D"
02-02-2014 "Description E"
我需要它如何排序是按日期和描述,但也包括每个日期内列表顶部的所有 Description B 元素。像这样,
01-02-2014 "Description B" <-- Top (Rest below is still sorted ascending)
01-02-2014 "Description A"
01-02-2014 "Description C"
01-02-2014 "Description D"
01-02-2014 "Description E"
02-02-2014 "Description B" <-- Top (Rest below is still sorted ascending)
02-02-2014 "Description A"
02-02-2014 "Description C"
02-02-2014 "Description D"
02-02-2014 "Description E"
我已经尝试使用 LINQ 来完成此操作,但我不确定它是否可以作为单个查询来完成。
return ListOfItems.OrderByDescending(x => x.Date).ThenBy(x => x.Type)
最佳答案
这一系列排序语句将按照您的示例显示的方式对其进行排序
return ListOfItems.OrderBy(x => x.Date)
.ThenByDescending(x => x.Type == "Description B")
.ThenBy(x => x.Type);
关于c# - 带条件排序的 LINQ OrderBy/ThenBy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22154341/