使用LINQ时.Select,.Any和.Count之间有什么区别使用.Count就像在SQL select count(*)中一样,性能受到了什么影响?是吗.Any表现得更快?
谢谢!
Kir*_*rst 10
Count 需要迭代整个集合,因为它(显然)需要计算实例数.
Any找到第一个匹配项并返回true或false.如果没有,那么它需要迭代整个集合以尝试查找,但如果第一个实例匹配则它只需要检查第一个实例.
Select完全不同.它用于将集合投影到另一个集合中.它不执行任何检查或过滤.
编辑:在SQL而言,Any就像是Exists,而Count像Count(*).
如果我想知道今天街上是否有人,那么完全不必要地计算所有人,看看数字是否> = 1.一旦找到一个人,我就完成了.