47

正如标题所说,我应该什么时候使用List,什么时候应该使用ArrayList

谢谢

4

8 回答 8

89

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

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

对于那些(罕见的)您不知道预先类型(并且不能使用泛型)的情况,甚至List<object>ArrayList(IMO)更有帮助。

于 2009-04-07T12:32:51.357 回答
14

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

我能想到 ArrayList 可以派上用场的唯一情况是,如果您需要与旧的东西(.NET 1.1)交互,或者您需要一个不同类型的对象数组并将所有内容加载为对象 - 但您可以做后者一般用List<Object>哪个更好。

于 2009-04-07T12:35:50.803 回答
5

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

ArrayList 是一个 .NET 1.x 类(尽管仍然可用且有效),但它不是“类型化”/通用的,因此您需要将项目从“对象”转换回所需的类型;而在使用 List 时,您不必这样做。

于 2009-04-07T12:33:48.937 回答
4

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

于 2009-04-07T12:36:17.540 回答
3

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

于 2009-04-07T12:40:35.080 回答
0

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

于 2009-04-07T12:40:21.260 回答
0

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

于 2011-12-12T07:30:38.443 回答
0

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

于 2013-04-04T03:23:39.957 回答