是IEnumerable<T>
。據我所知,引用總是指向一個類實例。 LINQ查詢真正指向哪種實例類型?LINQ查詢的返回類型是什麼?
回答
我不知道,但我想這是一個內部類型。你不必考慮班級。
事實上,根據具體查詢它可能是不同的類。編譯器可以根據條件/處理將LINQ表達式轉換爲一個或另一個實現。
如果我沒有記錯的話,IEnumerable<T>
,其中T取決於您的查詢
我想他想知道具體的類,而不是界面。當然這是不相關的(對於每個具體查詢它可能不同) – helios 2011-06-07 08:41:03
根據您的原始數據源上,則可能是的IEnumerable或IQueryable的:
一個LINQ數據庫查詢的結果通常是IQueryable<T>它來自IEnumerable < T>,IQueryable和IEnumerable。
如果你的數據庫查詢包含排序依據條款,類型是IOrderedQueryable<T>,從IQueryable的<衍生而來T>
如果您的數據源是一個IEnumerable,結果類型爲IEnumerable<T>
你可以找到它通過在你的IEnumerable<T>
變量上調用.GetType()
並檢查調試器中的類型。
對於不同的LINQ提供者,甚至不同的LINQ方法,這些類型可能會也可能不會不同。
有什麼事情對你的代碼是,它們都實現IEnumerable<T>
你應該一起工作,或IQueryable<T>
這也接受表達,這意味着你的斷言和預測將成爲語法樹,並可以通過LINQ提供程序在運行時進行操作,例如被翻譯成SQL。
實際的類,如果這是你所問的,甚至可能是由編譯器生成的,例如,表達式被翻譯成這樣的類。
無論哪種方式,他們通常是內部的,你永遠不應該,有史以來取決於他們。
您可以檢查here三個部分的查詢操作。您可以看到,一個LINQ查詢的返回類型是IEnumerable < int>。
- 1. 我的linq查詢的返回類型是什麼?
- 2. 返回linq查詢的數據類型
- 3. 返回類型的DataTable從LINQ查詢
- 4. 什麼是返回linq查詢結果時的輸出類型的方法?
- 5. 從LINQ查詢返回匿名類型?
- 6. LINQ查詢什麼也沒有返回
- 7. LINQ查詢的結果是什麼類型?在LINQ
- 8. Spring Data Rest:查詢的返回類型應該是什麼
- 9. 該查詢的返回類型應該是什麼?
- 10. 我的linq的返回類型是什麼?
- 11. 爲什麼我的LINQ查詢總是返回0?
- 12. 什麼是MembershipUserCollection.GetEnumerator的返回類型();
- 13. 什麼是document.getElementById()的返回類型
- 14. 什麼是枚舉的返回類型|?
- 15. 什麼是printf的返回類型
- 16. typeof的返回類型是什麼?
- 17. 什麼是cookie的返回類型?
- 18. 什麼是Http.get()。catch的返回類型?
- 19. quandl.get返回的類型是什麼?
- 20. 的LINQ to XML查詢,返回類
- 21. LINQ返回類型/值不是什麼即時通訊等待
- 22. Mongodb查詢返回類型
- 23. 查詢ID返回類型
- 24. 檢查LINQ查詢是否返回行
- 25. 什麼類型的對象「getResults()」在docrine查詢中返回
- 26. 我的對象查詢返回什麼類型?
- 27. 什麼是GQL查詢返回
- 28. LINQ查詢返回的IQueryable
- 29. LINQ查詢返回的IEnumerable
- 30. 如何聲明分組的返回類型的LINQ查詢
爲什麼要關閉這個問題?它教授良好的編程習慣(通過展示你不能依賴的東西:實現) – helios 2011-06-07 08:39:34
這取決於LINQ查詢的內容。 – 2011-06-07 08:39:52
我想說,我們需要這個問題背後的動機能夠充分回答它。 – AakashM 2011-06-07 14:27:51