Linq做了很多聰明的事情,例如在IList
上使用Count
()方法返回Count屬性的結果。 有沒有一個很好的資源來概述這種優化?有沒有一個很好的資源來概述linq優化?
這將是非常有趣的,因爲作爲之前,我知道上面的,我從來沒有使用過Count()
,因此經常返回List<T>
不僅僅是一個IEnumerable<T>
因爲我知道來電者將需要經常需要在列表的實例數。
但記住Count()並不真正包含在IEnumerable<T>
中包含的實例,而是返回來自返回List的Count屬性的結果,因此不會丟失性能,導致我改變了很多返回的類型從列表到IEnumerable<T>
。
什麼「Linq做了很多優化,例如使用IList上的Count()方法返回Count屬性的結果」意味着什麼? – 2010-07-16 10:45:24
@Mitch:假設一個簡單的Count()調用會執行,LINQ查詢不會檢索所有的底層數據。 – 2010-07-16 10:47:10
幾分鐘前,我學到了在列表上調用AsEnumerable不會創建新實例,而只是返回實例本身。但是,也許優化這個詞不是正確的。 A已經改變了問題文本以更準確地表達我的意思。 – HCL 2010-07-16 10:48:20