正如标题所说,我应该在什么情况下使用List
和ArrayList
?
谢谢
使用 ArrayList
的主要时间是在 .NET 1.1 中。
除此之外,List<T>
是更好的选择(针对你本地的 T
)...
对于那些(罕见的)情况,在不知道类型或无法使用泛型的情况下,即使是 List<object>
比 ArrayList
更有用(我个人认为)。
您应始终使用List<TypeOfChoice>
(在.NET 2.0中引入了泛型), 因为它是类型安全的,并且比ArrayList
更快(没有不必要的装箱/拆箱)。
唯一我能想到的情况是,如果您需要与旧的 .NET 1.1 版本进行接口或者您需要一个包含不同类型对象数组并将所有内容作为对象加载, 即可使用后者 List<Object>
,这通常更好。
由于List是一个泛型类,因此我倾向于始终使用List。
ArrayList是.NET 1.x类(仍然可用和有效),但它不是“类型化”的/泛型的,因此您需要将项目从“object”转换回所需的类型;而使用List时,您不必这样做。
尽可能使用List。当高性能的List存在时,我看不到使用ArrayList的任何用处。
ArrayList是一个较旧的.NET数据结构。如果您使用的是.NET 2.0或更高版本,请始终在数组需要保存相同类型的项时使用List。使用List而不是ArrayList可以提高性能和可用性。
泛型是在 .Net 2.0 中引入的。如果您使用的是早期版本的 .Net,则可以使用 Array List,否则我们可以直接使用泛型列表。Array List 已经被弃用,不会提供更好的类型安全性,并且还会创建装箱和拆箱问题。但是泛型列表不会出现这些问题。