我有一個linq查詢,返回僱員名單和職位名稱。 我需要按職位對其進行排序,但首先在輸出列表中沒有任何員工。LINQ按問題排序
例排序:
- 驅動程序 列表{0}
- 話務員列表{71}
- 先導 列表{19}
駕駛員首先是因爲它在列表中沒有任何內容,然後按標題排序。
我只是好奇你認爲什麼是我最好的選擇來實現它?
感謝
我有一個linq查詢,返回僱員名單和職位名稱。 我需要按職位對其進行排序,但首先在輸出列表中沒有任何員工。LINQ按問題排序
例排序:
- 驅動程序 列表{0}
- 話務員列表{71}
- 先導 列表{19}
駕駛員首先是因爲它在列表中沒有任何內容,然後按標題排序。
我只是好奇你認爲什麼是我最好的選擇來實現它?
感謝
喜歡的東西:
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。
完美tx,我的方法在 – mateoc
喜歡的東西:
Jobs.OrderBy(j => j.Eployees.Count()).ThenBy(j => j.Name);
之前有點矯枉過正不,因爲那會讓「Pilot」成爲第二。這不是計數本身,它只是「計數非零」。 –
沒錯。我在看到你的答案後才完全理解OP的全部意圖。在那個階段,將我的更新與您的相同似乎很愚蠢。 – Variant
目前尚不清楚你所說的「名單」的意思 - 這是下屬對每個員工的名單? –