和/或方案与Linq可能的解决方案
本文关键字:解决方案 Linq 方案 | 更新日期: 2023-09-27 18:05:29
我有一个特定的场景,我想用LINQ解决,但我卡住了。我希望有人能给我一个例子或一些关于如何解决这个问题的指点。我对LINQ相当陌生。
我有两个集合,它们包含相同类型的对象(对于示例来说,对象类型并不重要)。
集合A包含'A11'和'A12'。
集合B包含'B11'和'B12'。
我有第三个集合,它应该根据以下规则包含上述元素的子集:
(1 element of B AND (A11 OR A12))
如果我写出所有的可能性这就变成了
(B11 AND (A11 OR A12))
(B12 AND (A11 OR A12))
当然,在我的场景中,这些集合可能会变得更大。
我该如何在LINQ中解决这个问题,以查看我的集合C是否根据特定的AND/OR规则是正确的?
你可以把它分成两个单独的linq查询,并把它们组合在一起
if(collectionC.Intersect(collectionA).Any() && collectionC.Intersect(collectionB).Any())
当collectionC包含至少一个来自collectionA和至少一个来自collectionB
如果你想对计数有更多的控制,你可以替换
.Any()
上的
Count() > 0
关于相交操作的更多信息http://code.msdn.microsoft.com/linq -设置-运营商- 374 - f34fe # intersect1