我正在阅读这个问题的答案:(Is there a better way of calling LINQ Any + NOT All?)。为什么这不能处理所有条件?很抱歉创建了一个新问题,但我没有足够的声誉来对原始问题添加评论。
var anyButNotAll = mySequence
.Select(item => item.SomeStatus == SomeConst)
.Distinct()
.Take(2)
.Count() == 2;
答案 0 :(得分:2)
如果条件总是假(或总是为真),那么当使用条件投射序列并调用Distinct
时,将有1个结果,而不是2个,所以Count() == 2
将返回false,而不是true