c# - Linq 检查列表中是否存在所有值

标签 c# linq

我有一个名为 OfferPriorities 的对象列表,OfferPriority 有一个字段 TypeId。我想确保所有 TypeId 值都存在于 OfferPriorities 中。可能的 TypeId 值为 1,2 和 3。我想检查它们是否都存在于 OfferPriorities 中。例如下面的 TypeId 3 在列表中不存在,所以我应该抛出异常。


编号 |类型Id

5 | 1

6 | 2

最佳答案

Except + Any 做你想做的事:

bool allExist = !new[] { 1, 2, 3 }.Except(OfferPrioritie.Select(x => x.TypeId)).Any();

关于c# - Linq 检查列表中是否存在所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44698602/

相关文章:

c# - 将字符串转换为 double

c# - 为什么强制转换为 (int?) 有效而 (string?) 在 LINQ 查询中不起作用

c# - 是否可以在预构建事件中更改文件的构建操作?

c# - 为什么 WPF 使用 HTML/HEX 颜色?

c# - 按另一个列表中的值匹配对对象列表进行排序

c# - 在 C# 中使用 LINQ 进行字典操作

c# - 尝试添加一对多关系时出现 NullReferenceException

c# - 数据库已经存在。使用 CreateDatabase() 选择不同的名称

c# - 使用反射发现派生类型

c# - 找不到许可证问题devart postgresql