我有兩個客戶列表list1和list2,其中包含id,name和city屬性。我需要刪除list1中的項目,如果它們在list2中存在相同的名稱和城市。如何編寫linq查詢來進行多參數選擇。根據其他列表中的兩個參數從一個列表中刪除項目
0
A
回答
10
list1.RemoveAll(c => list2.Any(c2 => c2.Name == c.Name && c2.City == c.City));
2
與使用兩個布爾值編寫任何條件相同 - 使用&&
或||
。舉個例子:
from x in list1
where list2.Any(y => y.Name == x.Name && y.City == x.City)
select x
。請注意,「上游」是一個簡單的Func<MyType, bool>
,所以只要你到底返回一個布爾值,你可以在那裏做一些非常時髦的東西。
當然,你必須枚舉IEnumerable
(.ToList()
吧)刪除,因爲你不能改變一個列表而枚舉它,但你可能知道(或只使用List.RemoveAll
與謂詞以上)之前
相關問題
- 1. 根據其他列表的項目刪除列表中的項目
- 2. 從列表中刪除一個項目
- 3. 如何從兩個列表中刪除HTML列表項目
- 4. NetLogo中的列表差異(從其他列表中刪除一個列表)
- 5. 根據索引列表,從列表中刪除項目
- 6. 從數據庫的列表框中刪除一個項目
- 7. 從數據列表中刪除一個項目
- 8. 從列表中刪除多個項目
- 9. 基於另一個列表從列表中刪除項目
- 10. 從嵌套列表中刪除項目(子列表)根據其元素比較
- 11. 在Python中將兩個列表根據其項目映射到列表對中
- 12. 使用其他列表的重複項刪除項目列表
- 13. 從一個表中刪除與其他表相關的數據
- 14. 將兩個列數據表數據表與從一列和值colnames從其他
- 15. 從兩個列表框中刪除選定的項目
- 16. Python:從列表中刪除一個項目,但返回一個新列表
- 17. 從數組列表中刪除項目
- 18. 從陣列列表中刪除項目
- 19. 從列表中刪除項目而不從數據源中刪除項目 - c#
- 20. 從其他活動中通過數據庫從列表視圖中刪除一個項目
- 21. 根據另一個列表項目填充列表項目
- 22. 從列表中刪除存在於另一個列表中的項目
- 23. 如何從列表中刪除父母在同一個列表中的項目
- 24. 從另一個列表中刪除列表中的所有項目
- 25. C#列表中刪除多個項目
- 26. 從列表中的對象列表中刪除一個項目時,該項目也從其他對象名單中刪除
- 27. 從陣列中刪除一個項目
- 28. 從列表中刪除每個第三個項目(在列表中定期刪除項目)
- 29. 從數據庫中刪除列表項
- 30. 從另一個列表中刪除列表項