2013-10-22 70 views
1

例子給出了這樣的LINQ查詢的結果是什麼類型?在LINQ

var query = context.Contacts 
    .Where(q => q.FirstName == "Tom"); 

我想知道什麼目的在於「查詢」?還有可能(建議)將它傳遞給一個方法(在同一個類中)?

回答

2

query對象最有可能是IQueryable<Contact>類型。當然,你可以將它傳遞給一個方法,無論這個方法是在同一個類中還是在另一個類中都沒有關係。

但請記住,LINQ確實使用名爲「延遲執行」的機制。這意味着查詢不會立即枚舉,而是在需要時進行枚舉。你在查詢中輸入的所有東西(例如Where-clause)都會被執行。有關延遲執行的更多信息,請參見MSDN: Query Execution

注意:如果將鼠標懸停在其上或在Visual Studio中關鍵字var,可以找到query變量的確切類型。