c# - CollectionBase 类是否仍然受支持?

标签 c# .net collections collectionbase

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

还支持吗?或者有替代解决方案吗?

最佳答案

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

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

避免非通用集合,如 CollectionBase , ArrayList , 和 HashTable如果可能的话。使用它们会降低性能,并且与框架的最新版本中引入的通用版本相比,它们几乎没有优势(如果有的话!)。

关于c# - CollectionBase 类是否仍然受支持?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5704776/

相关文章:

c# - Entity Framework Core、DELETE CASCADE 和 [必需]

c# - 将字符串数组排序为整数,但可以有非整数值

java - 使用 ArrayList 检索属性?

java - 检查 list2.containsAll(list1) 是否包含但不完全相同的字符串

java - .NET Dictionary/IDictionary 的 Equals() 契约(Contract)与 Java Map 的 equals() 契约(Contract)

c# - 为什么会有 List<T>.BinarySearch(...)?

c# - XAML 中没有智能感知

c# - 如何在 Asp.NET MVC 上列出无限嵌套类别?

c# - 已内联的函数的堆栈跟踪是否在抛出的异常中保留?

.net - 使用MSDeploy将可执行文件复制到服务器,然后运行