CollectionBase类仍然受支持吗?

Hom*_*mam 10 .net c# collections collectionbase

我想创建一个继承自的类CollectionBase,但它似乎不支持LINQ扩展!

它仍然受支持吗?或者有替代解决方案吗?

Cod*_*ray 26

它仍然受支持,但它已经过时了.您应该始终更喜欢使用System.Collections.GenericSystem.Collections.ObjectModel命名空间或命名空间中定义的集合.

您可以继承其中一个泛型集合,以创建自己的自定义强类型集合.它将完全支持LINQ,因为它们已经实现了IEnumerable<T>.您的情况中的
任何一个List<T>或是Collection<T>好的选择.

避免非泛型集合一样CollectionBase,ArrayListHashTable如果可能的话.使用它们会有性能损失,并且它们与最新版本的框架中引入的通用版本相比,几乎没有优势(如果有的话!).