1
假設我們有這樣的代碼:Linq緩存多個Froms的結果嗎?
IEnumerable<Foo> A = meh();
IEnumerable<Foo> B = meh();
var x =
from a in A
from b in B
select new {a, b};
讓我們也假設meh
返回IEnumerable
當遍歷執行了很多昂貴的計算。當然,我們可以簡單地手動藉助於緩存的計算結果
IEnumerable<Foo> A = meh().ToList();
我的問題是,如果需要A和B的這種手動緩存,或者如果上述查詢緩存A的執行期間的結果和B本身,所以每一行只能計算一次。 2 * n和n * n計算的區別可能很大,我沒有找到MSDN中行爲的描述,這就是爲什麼我要問。
這實際上很有意義。 – mafu 2009-07-08 09:38:48