我有一个Linq查询,如下所示:

return this._alarmObjectAlarmViolationList
   .Where(row => row.ObjectId == subId)
   .Where(row => row.AlarmInternalId == "WECO #1 (StdDev > UCL)")
   .Where(row => row.PositionInSequence == row.SequenceCount)
   .Any();


与将Where谓词放入Any()语句中相比,此功能是否有任何不同之处,或更有效或更有效?

这是一个Linq to Objects查询。

谢谢。

最佳答案

不。.Where(predicate).Any()Any(predicate)之间的执行速度没有真正的区别。

但是,内部仅使用Any(predicate)需要创建的对象更少。

我的建议是您使用可读性更高的变体。对于许多复杂的谓词,我认为使用Where时更容易阅读-如示例中所示。

请注意:我的答案仅适用于LINQ to Objects。

关于c# - Linq Any()的哪种使用效率更高?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12072498/

10-16 21:01