2012-07-26 58 views
4

之間是否有任何明顯的性能差異:LINQ凡(謂語)與FirstOrDefault(謂語)

something.Where(predicate).FirstOrDefault(); 

something.FirstOrDefault(predicate); 

我傾向於使用兩者,但我想知道在性能方面是否有明顯的勝利者。

+0

與大多數優化形式一樣,最好的選擇是自己嘗試一下,看看會發生什麼。做你自己的基準,看看什麼是最適合你的應用。 – 2012-07-26 02:07:51

回答

10

取決於Where是否與IQueryableIEnumerable相對。 在IQueryable的情況下,區別是基於提供者的實現,但它更有可能不會有差異並且會產生相同的查詢。

在IEnumerable的情況下,它應該可以忽略不計。

+0

+1簡而言之 – Chandu 2012-07-26 02:12:48