我有一个linq查询,它返回一个员工列表和一个职位名称。 我需要按职称对其进行排序,但首先要在输出列表中没有任何员工。
示例排序:
- 驾驶员清单{0}
- 服务员名单{71}
- 试点清单{19}
首先是驱动程序,因为它在列表中没有任何内容,然后按标题排序。
我很好奇你觉得什么是我最好的选择呢?
由于
答案 0 :(得分:6)
类似的东西:
var query = employees.OrderBy(x => x.Subordinates.Any() ? 1 : 0)
.ThenBy(x => x.JobTitle);
您还可以使用false
早于true
排序的事实:
var query = employees.OrderBy(x => !x.Subordinates.Any())
.ThenBy(x => x.JobTitle);
......但这有点不太明显,IMO。
答案 1 :(得分:0)
类似的东西:
Jobs.OrderBy(j => j.Eployees.Count()).ThenBy(j => j.Name);