Linq顺序有两个标准
本文关键字:两个 标准 顺序 Linq | 更新日期: 2023-09-27 18:07:42
我在linq查询中获得预期结果时遇到了一些麻烦。
下面是一些示例数据:
Queue Priority TTRDate
Main Critical 6/9/2014 7:41:00 PM
Main Major 6/9/2014 7:42:00 PM
Main Critical 6/9/2014 7:43:00 PM
Main Minor 6/9/2014 7:30:00 PM
Main Minor 6/9/2014 7:35:00 PM
查询:listTickets = queryAllTickets.Where(y => y.Queue == "Main")
.OrderBy(t => t.Priority == "Critical")
.ThenBy(x => x.TTRDate)
.Take(numberOfrecords)
.ToList();
预期结果:
Main Critical 6/9/2014 7:41:00 PM
Main Critical 6/9/2014 7:43:00 PM
Main Minor 6/9/2014 7:30:00 PM
Main Minor 6/9/2014 7:35:00 PM
Main Major 6/9/2014 7:42:00 PM
简单地说,我希望关键项目按TTRdate排序,然后我希望其他所有项目按TTRdate排序。
false
比true
小,所以需要OrderByDescending
:
.OrderByDescending(t => t.Priority == "Critical")
或使用!=
代替==
:
.OrderBy(t => t.Priority != "Critical")