c# - 检查多个值(存储在专用集合中)是否在 LINQ 集合中,在查询中

标签 c# linq

LINQ 中提供值集合并检查集合中是否有任何/所有这些值的方法是什么?

谢谢

最佳答案

您可以通过 .Intersect() 模拟它并检查交集是否包含所有必需的元素。我想这效率很低,但又快又脏。

List<T> list = ...
List<T> shouldBeContained = ...
bool containsAll = (list.Intersect(shouldBeContained).Count == shouldBeContained.Count)

或者您可以使用 .All() 来完成。我想这更高效、更清洁:

List<T> list = ...
List<T> shouldBeContained = ...
bool containsAll = (shouldBeContained.All(x=>list.Contains(x));

关于c# - 检查多个值(存储在专用集合中)是否在 LINQ 集合中,在查询中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2289599/

相关文章:

c# - 在 LINQ 查询中调用 SQL 用户定义的函数

c# - Entity 到 ViewModel 的映射真的需要 AutoMapper/ValueInjector 吗?

c# - 更改 foreach 语句中的 Linq 对象?

c# - 我应该为我的 Linq2Sql 数据使用 Struct 而不是轻量级数据类吗?

c# - 打开保存的文件时出错

c# - 为什么我们使用字段和属性而不仅仅是变量?

c# - 清除和重新填充列表框时闪烁

c# - 如何在不手动设置的情况下将绑定(bind)属性作为参数传递

c# - 在 LINQ 语句中转换对象类型

c# - 如何使用 LINQ 将字典值的 SUM 嵌套到列表中?