我有一個專案串列:
| Order - not return from DB | 狀態 | 。Flag | |
|---|---|---|---|
| 1 | 完成 | ||
| 完成 | 0 | ||
| 2 | 完成 | ||
| 完成 | 1 | ||
| 3 | 未開始 | ||
| 未開始? | 0 | 4 | 完成 |
| 完成? | 1 |
預期輸出:
| 訂單 - 沒有從DB回傳 | 。狀態 | 。Flag | |
|---|---|---|---|
| 2 | 完成 | ||
| 完成 | 1 | ||
| 3 | 未開始 | ||
| 未開始? | 0 | 4 | 完成 |
| 完成? | 1 |
所以只有狀態=="完成 "的專案,才用Flag==1來過濾。 對于其他不是 "完成 "的狀態,什么都不做。
我可以:
var notCompletedItems = todoList.Where(item => item.Status != "Complete") 。
var filtedCompletedItem = todoList.Where(item => item.Status == "Complete" && Flag) 。
var finalResult = notCompletedItems.AddRange(filtedCompletedItem)。
注意 該命令不會從DB回傳,只是為了解釋問題的目的。 如何準確地回傳預期的輸出。 并且優化代碼...
預先感謝!
uj5u.com熱心網友回復:
你可以只用一行代碼完成這個任務,這樣你就不必生成多個串列。試試這個:
var finalResult = todoList.Where(item => item.Status ! = "Complete" || (item.Status == "Complete" && item.Flag == 1) 。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/321127.html
標籤:
上一篇:陣列內有多個值
