2012-08-22 57 views
2

我有LINQ查詢看起來如下:哪個使用Linq Any()更有效率?

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

這是functionaly任何不同,或任何或多或少的效率,比把凡謂詞的任何()語句中?

這是一個Linq to Objects查詢。

謝謝。

+0

這是什麼樣的linq? linq-to-objects,或者其中一個'IQueryable'變種? – CodesInChaos

+0

更新了我的問題 - 謝謝。 –

回答

6

沒有。.Where(predicate).Any()Any(predicate)之間的執行速度沒有實際差異。

但是,僅使用Any(predicate)內部需要創建的對象較少。

我的建議是你使用更易讀的變體。對於許多複雜的謂詞,我認爲在使用Where時比較容易閱讀 - 就像您的示例一樣。

請注意:我的回答只適用於LINQ to Objects。

+0

謝謝。這是Linq到Objects。 –

相關問題