函數的結果是LINQ查詢的源代碼。我希望它每次使用查詢時都會進行懶惰評估,而不是在創建時鎖定。這是我的意思的例子:LINQ延遲執行,函數結果作爲源(例如Console.ReadLine)
var query = from c in Console.ReadLine()
group c by char.IsDigit(c) into gr
select new { IsDigit = gr.Key, Count = gr.Count() };
Console.WriteLine()
只運行一次 - 在創建query
,即使沒有調用諸如ToList()
上端接方法。我想是Console.WriteLine()
(或在其位置上的任何其他功能),當我使用的查詢與ToList()
或Count()
等
我在想同樣的事情,但只使用靜態泛型迭代器方法。 –
@Ivan:作爲一種類型,它更容易重用。 –
當然。只要它被封裝在公共靜態方法中,實現並不重要(可能是一個或另一個)。 MoreLinq的好候選人? :) –