C#数组、ArrayList和List<T>

1.数组:

数组在内存中是连续的,索引速度快。赋值与修改简单。

数组的两个数据中间插入数据麻烦,且在声明数组的时候必须指定数组长度。数组长度过长,会浪费内存,过短会造成数据溢出。

2.ArrayList:

ArrayList的大小按照其中存储的数据来动态扩充与收缩。声明ArrayList时不需要指定它的长度。

ArrayList中可以插入不同的数据类型,ArrayList会把所有插入其中的数据当作为object类型来处理,使用ArrayList处理数据时,很可能会报类型不匹配的错误,也就是ArrayList不是类型安全的。存储或检索值类型时通常发生装箱和拆箱操作,带来很大的性能耗损。

3.List<T>:

List类是ArrayList类的泛型等效类。

声明List集合时,要同时声明List集合内的数据类型。如:List<string> list = new List<string>()。List类型安全。

原文地址:https://www.cnblogs.com/Sakya00/p/4449076.html