8
LINQ:不是任何人都不是所有人
我经常想检查一个提供的值是否与列表中的一个匹配(例如,在验证时): if (!acceptedValues.Any(v => v == someValue)) { // exception logic } 最近,我注意到ReSharper要求我将这些查询简化为: if (acceptedValues.All(v => v != someValue)) { // exception logic } 显然,这在逻辑上是相同的,也许可读性更高(如果您完成了许多数学运算),我的问题是:这会导致性能下降吗? 感觉像是应该的(即.Any()听起来像是短路,而.All()听起来像不是),但是我没有任何证据可以证明这一点。是否有人对查询是否可以解决相同的问题或ReSharper是否使我误入歧途有更深入的了解?
272
c#
.net
performance
linq
resharper