ArrayList
之间有什么区别?和 List<>
在 C# 中?
仅仅是List<>
吗?有一个类型 while ArrayList
不是吗?
最佳答案
是的,差不多。 List<T>
是一个通用类。它支持存储特定类型的值,而无需转换为 object
或从 T
转换(当 ArrayList
是 ArrayList
情况下的值类型时,这会产生装箱/拆箱开销)。 object
只是存储 List<T>
引用。作为一个通用集合,IEnumerable<T>
实现了通用的 Cast
接口(interface),可以在 LINQ 中轻松使用(不需要任何 OfType
或 ArrayList
调用)。
List<T>
属于C#没有泛型的时代。它已被弃用,取而代之的是 ArrayList
。您不应在以 .NET >= 2.0 为目标的新代码中使用 ojit_code,除非您必须与使用它的旧 API 交互。
关于c# - ArrayList 与 C# 中的 List<>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2309694/