我有一个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/