.NET:ArrayList vs List

MOZ*_*LLA 36 .net vb.net collections

VB.NET中的ArrayList和List有什么区别

Mik*_*ott 48

ArrayLists基本上已被弃用,因为它们是无类型的 - 你需要使用它们 - 而且它们对于值类型来说速度较慢且空间效率较低,因为它们需要将项目装箱.

使用.Net 2.0引入了通用列表,这是可行的方法.List通常比数组更好,但缺点很少.

由于这些集合是.Net基类库的一部分,因此该建议也适用于C#和支持泛型的任何.Net语言 - 它不是特定于VB.NET的.


aru*_*rul 14

List是ArrayList的通用实现.ArrayList将所有对象存储为System.Object,然后将其转换为适当的类型.ArrayLists是异构的,List只能存储一种类型的对象 - 该类型作为其通用参数提供.

List<string> strList; // can store only strings
List<int> intList; // can store only ints
ArrayList someList; // can store anything
Run Code Online (Sandbox Code Playgroud)

  • 每个人都会指责并嘲笑你 (28认同)
  • 当然,从技术上讲,您可以始终创建一个存储类型为"Object"的列表并在其中存储任何内容,因为所有内容都固有地从对象继承. (4认同)

xsl*_*slr 5

当在64位上用于存储原始元素时,ArrayLists的空间效率更高,因为64位宽的内存引用而不是32位机器上的32位引用和装箱.

有关详细信息,请参阅此处:http: //blogs.msdn.com/joshwil/archive/2004/04/13/112598.aspx