我有一个名为OfferPriorities的对象列表,OfferPriority有一个字段TypeId。我希望确保所有TypeId值都存在于OfferPriorities中。可能的TypeId值是1,2和3,我想检查它们是否都存在于OfferPriorities中。例如,下面的TypeId 3在列表中不存在,所以我应该抛出一个异常。
Id = TypeId
5-1
6-2
发布于 2017-06-22 11:51:38
Except + Any做您想做的事:
bool allExist = !new[] { 1, 2, 3 }.Except(OfferPrioritie.Select(x => x.TypeId)).Any();发布于 2017-06-22 12:22:45
另一种可能是使用All检查OfferPriorities是否包含所有元素:
List<OfferPriority> OfferPriorities = new List<OfferPriority>();
OfferPriorities.Add(new OfferPriority() { TypeId = 1 });
OfferPriorities.Add(new OfferPriority() { TypeId = 2 });
//OfferPriorities.Add(new OfferPriority() { TypeId = 3 });
List<int> allowedIDs = new List<int> { 1, 2, 3 };
bool check = allowedIDs.All(x => OfferPriorities.Select(y => y.TypeId).Contains(x));https://stackoverflow.com/questions/44698602
复制相似问题