在System.Collections.ObjectModel中似乎也有特定的集合类。这两个名称空间下的集合有什么不同?我们应该在哪种情况下使用System.Collections.ObjectModel?
发布于 2010-06-25 21:18:19
来自MSDN
System.Collections.ObjectModel命名空间包含可用作可重用库的对象模型中的集合的类。当属性或方法返回集合时,使用这些类。
发布于 2010-06-25 22:47:03
System.Collections.ObjectModel类对于向外部世界公开集合非常有用。(我所说的外部世界指的是不与您的代码进行版本控制的代码。)
因此,在代码中使用泛型集合类,但是当您想要将其公开给外部世界时,请将其包装在Collection、ReadOnlyCollection或ObservableCollection中。
要将集合包装为键控集合,可以将KeyedCollection用作帮助器的基类。
发布于 2010-06-25 21:20:08
一个明显的区别是System.Collections.ObjectModel名称空间包含泛型只读集合(即没有Add、Remove和Clear方法等)。
https://stackoverflow.com/questions/3118242
复制相似问题