LINQ:如果没有元素,All() 返回什么
本文关键字:返回 什么 All 如果没有 元素 LINQ | 更新日期: 2023-09-27 18:33:48
这是一个
非常简单的问题,但"全部"对谷歌来说是一个糟糕的关键字,哈哈。
我想获取所有类别,其中没有任何产品更新,或者没有任何产品。
换句话说,获取所有尚未更新其所有产品的类别,包括尚未包含任何产品的所有类别。
这是正确的表达方式吗?
var categs = context.Categories.Where(c => c.Products.All(x => !x.Updated));
它返回true
.来自文档(强调我的):
返回值
如果源序列的每个元素都通过指定谓词中的测试,或者序列为空,则为 true;否则,为假。
(这也是合乎逻辑的结论。序列中的所有元素确实都传递了谓词,就像我所有的女儿都超过 10 英尺高一样。我没有女儿的事实并不能改变这句话的真实性:)
请参阅我在 Any
和 All
上的 Edulinq 博客文章,了解有关它们如何工作的更多详细信息。
all "确定序列的所有元素是否都满足条件。
MSDN
我认为你的表达是正确的。您将获得包含未更新产品的所有类别。