c#我什么时候应该使用List,什么时候应该使用arraylist?

时间:2009-04-07 12:31:20

标签: c# list arraylist

标题说我应该何时使用List,何时应该使用ArrayList

由于

8 个答案:

答案 0 :(得分:87)

使用ArrayList的主要时间是在.NET 1.1中

除此之外,List<T>一路(对于您当地的T)...

对于那些您不了解类型(并且不能使用泛型)的(罕见)情况,即使List<object>ArrayList(IMO)更有帮助。

答案 1 :(得分:12)

你应该总是使用List<TypeOfChoice>(在.NET 2.0中引入泛型),因为它是TypeSafe并且比ArrayList更快(没有必要的装箱/拆箱)。

只有我能想到ArrayList可以派上用场的情况是你需要与旧东西(.NET 1.1)接口,或者你需要一个不同类型的对象数组并将所有东西作为对象加载 - 但你可以用List<Object>做后者通常会更好。

答案 2 :(得分:5)

由于List是一个泛型类,我倾向于总是使用List。

ArrayList是一个.NET 1.x类(虽然仍然可用且有效),但它不是'typed'/ generic,所以你需要将'object'中的项目转换回所需的类型;而使用List时,您不必这样做。

答案 3 :(得分:4)

尽可能使用List。当高性能List存在时,我看不到对ArrayList的任何用处。

答案 4 :(得分:3)

ArrayList是一种较旧的.NET数据结构。如果您使用的是.NET 2.0或更高版本,则在阵列需要保存相同类型的项目时始终使用List。使用List over ArrayList可以提高性能和可用性。

答案 5 :(得分:0)

正如其他人所说。您应该使用List泛型,几乎总是在您知道类型(C#是强类型语言)时,以及当您执行多态/ inhertance类或其他类似的事情时使用其他方法。

答案 6 :(得分:0)

如果您不想使用Linq查询,那么您不需要使用List。如果你想使用那么你必须更喜欢List。

答案 7 :(得分:0)

Generics是在.Net 2.0中引入的。如果您使用的是早期版本的.Net,那么您可以使用数组列表,否则我们可以使用通用列表本身。数组列表是不推荐使用的,不会提供更好的类型安全性,还会产生装箱和拆箱问题。但通用列表不会出现。