什么时候应该使用列表,什么时候应该使用数组列表?
由于标题说什么时候应该使用List
,什么时候应该使用ArrayList
?
谢谢
使用ArrayList
的主要时间是在.NET 1.1中
除此之外, List<T>
一路(为您的本地T
)…
对于那些你不知道types(不能使用generics)的情况(罕见),甚至List<object>
比ArrayList
(IMO)更有帮助。
你应该总是使用List<TypeOfChoice>
(在.NET 2.0中引入generics),因为它是TypeSafe,比ArrayList
更快(没有不必要的装箱/拆箱)。
唯一的情况是我可以想到一个ArrayList可以方便的地方是如果你需要与旧的东西(.NET 1.1)接口,或者你需要一个不同types的对象的数组,你加载所有的东西作为对象 – 但你可以做后者与List<Object>
通常更好。
由于List是一个generics类,我倾向于总是使用List。
ArrayList是一个.NET 1.x类(尽pipe仍然可用&有效),但它不是“types”/通用的,所以您需要将项目从“对象”转换回所需的types; 而使用List时,则不必这样做。
尽可能使用列表。 当高性能列表存在时,我看不到任何对ArrayList的使用。
ArrayList是一个旧的.NET数据结构。 如果您使用.NET 2.0或更高版本,则当数组需要保存相同types的项目时,始终使用List。 ListList在ArrayList上的使用提高了性能和可用性。
正如其他人所说。 你应该使用Listgenerics,几乎总是当你知道types(C#是一个强types的语言),以及其他方式时,你做多态/ inserteance类或其他类似的东西。
如果你不想使用Linq查询,那么你不需要使用List。 如果你想使用,那么你必须喜欢列表。
generics是在.Net 2.0中引入的。如果您使用的是早期版本的.Net,那么您可以使用Array List,否则我们可以使用Generic List本身。 数组列表是不赞成的,不会提供更好的types安全性,也会造成装箱和拆箱的问题。但通用列表不会。