我有两个客户列表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. 从另一个列表中删除列表项