Array与Array List有显着差异?

Mik*_*son 16 c# arrays arraylist

可能重复:
何时在c#中使用ArrayList而不是array []?

从内存或处理器成本的角度来看,数组和arrayList对象之间是否存在显着差异?

Asi*_*sik 6

数组是一种低级数据结构,基本上映射到内存中的某个区域.An ArrayList是一个可变长度列表,实现object为在列表增长时重新分配的数组.

ArrayList 因此,与管理内部数组的大小相关的一些开销,以及在访问列表时将对象转换为正确类型相关的更多开销.

此外,存储所有内容object意味着值类型在写入时被装箱,在读取时被取消装箱,这对性能极为不利.使用List<T>类似但强类型的可变大小列表可以避免此问题.

事实上,自.NET 2.0以来,ArrayList它实际上已被弃用了List<T>.