我有一个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查询。
谢谢。
发布于 2012-08-22 19:54:32
不是的。.Where(predicate).Any()和Any(predicate)在执行速度上没有真正的区别。
但是,仅在内部使用Any(predicate)所需创建的对象较少。
我的建议是使用可读性更好的变体。由于有许多复杂的谓词,我认为使用Where会更容易阅读-就像在示例中一样。
请注意:我的回答只适用于LINQ to Objects。
https://stackoverflow.com/questions/12072498
复制相似问题