正如标题所说,我应该什么时候使用List
,什么时候应该使用ArrayList
?
谢谢
主要使用时间ArrayList
是在.NET 1.1
除此之外,List<T>
一路(对于您当地的T
)...
对于那些(罕见的)您不知道预先类型(并且不能使用泛型)的情况,甚至List<object>
比ArrayList
(IMO)更有帮助。
您应该始终使用List<TypeOfChoice>
(在 .NET 2.0 中引入泛型),因为它是 TypeSafe 并且比ArrayList
(没有不必要的装箱/拆箱)更快。
我能想到 ArrayList 可以派上用场的唯一情况是,如果您需要与旧的东西(.NET 1.1)交互,或者您需要一个不同类型的对象数组并将所有内容加载为对象 - 但您可以做后者一般用List<Object>
哪个更好。
由于 List 是一个泛型类,我倾向于总是使用 List。
ArrayList 是一个 .NET 1.x 类(尽管仍然可用且有效),但它不是“类型化”/通用的,因此您需要将项目从“对象”转换回所需的类型;而在使用 List 时,您不必这样做。
尽可能使用列表。当存在高性能 List 时,我看不到 ArrayList 的任何用途。
ArrayList 是一种较旧的 .NET 数据结构。如果您使用的是 .NET 2.0 或更高版本,则当数组需要保存相同类型的项目时,请始终使用 List。使用 List 而不是 ArrayList 可以提高性能和可用性。
正如其他人所说。您应该使用 List 泛型,几乎总是在您知道类型(C# 是一种强类型语言)时使用,以及在您执行多态/继承类或其他类似的事情时使用其他方式。
如果你不想使用 Linq 查询,那么你不需要使用 List。如果你想使用那么你必须更喜欢List。
泛型是在 .Net 2.0 中引入的。如果您使用的是早期版本的 .Net,那么您可以使用数组列表,否则我们可以使用泛型列表本身。Array List 已被弃用,不会提供更好的类型安全性,还会产生装箱和拆箱问题。但 Generic List 不会。