鑑於這樣的情況時,會發生什麼? ICollection
有一個計數屬性。這個演員是枚舉enumerable來獲得計數還是做更多的事情發生?鑄造的IEnumerable到ICollection的
3
A
回答
8
沒有任何反應。如果myEnumerable
確實是ICollection<MyType>
collection
將包含它。否則它將是null
。就那麼簡單。
1
重要的一點:
當過你施放IEnumerable
類型對象ICollection
將引用類型。
一樣,從收集去除項目將從IEnumerable
集合中刪除該項目也是如此。
例如:
IEnumerable<AnyClass> enumerableObject;
ICollection<AyClass> collectingObject = (ICollection<AnyClass>)enumerableObject;
foreach(var item in collectingObject){
collectingObject.Remove(item);
}
如果你的enumerableObject
訪問值,你會發現它更新,所有的值刪除。
相關問題
- 1. IEnumerable到IList鑄造Possiblelites
- 2. 鑄造IEnumerable <Derived> IEnumerable <BaseClass>
- 3. 鑄造一個IEnumerable到IEnumerable的<T>與反思
- 4. 鑄造了IEnumerable <int>到IEnumerable的<long>失敗
- 5. 鑄造Linq IEnumerable <Datarow>
- 6. 需要鑄造的IEnumerable Linq的IDbSet?
- 7. 鑄造陣列的IEnumerable <T>
- 8. 鑄造的LINQ IEnumerable的類繼承了IEnumerable
- 9. 鑄造IEnumerable沒有定義項目
- 10. IEnumerable <T>。單獨和鑄造
- 11. 鑄造清單的IEnumerable((的的MyType)列出的)(IEnumerable的(的的MyType)的)
- 12. 如何轉換ICollection至IEnumerable?
- 13. Chunk IEnumerable/ICollection Class C#2.0
- 14. Java的鑄造和C++的鑄造
- 15. 鑄造的char *到char []
- 16. 鑄造目的-1到uint32?
- 17. 在Java中的類型鑄造/鑄造
- 18. 鑄造NSString到NSData
- 19. 鑄造到基類
- 20. 鑄造u_int32到char
- 21. 鑄造UINT8 UINT32到
- 22. 鑄造長到int
- 23. 鑄造AnyObject到雙
- 24. 鑄造的clone()
- 25. 鑄造ctypes的
- 26. 鑄造的JMenuItem
- 27. 的Javascript鑄造
- 28. 鑄造
- 29. 鑄造
- 30. WPF - 鑄造的ObservableCollection
謝謝丹尼爾。如何設置ICollection的count屬性? –
它已經在那裏。它沒有被設置。演員不會創建新的實例! –
那很好。我不知道我的IEnumerable實際上是一個ICollection。你有一個鏈接,更詳細地解釋了這一點。基本上我正在處理一個IEnumerable,我寧願不枚舉集合來計數。投到ICollection似乎解決了這個問題,它似乎有點奇怪,它總是有祕密計數。 –