鉴于这样的情况时,会发生什么? 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似乎解决了这个问题,它似乎有点奇怪,它总是有秘密计数。 –