List与ArrayList的区别
ArrayList是.Net Framework提供的用于数据存储和检索的专用类,它是命名空间System.Collections下的一部分。
它的大小是按照其中存储的数据来动态扩充与收缩的。
在ArrayList中可以插入不同类型的数据,因为ArrayList会把所有插入其中的数据都当作为object类型来处理。但是这样在使用时很可能会报类型不匹配的错误。
既使我们保证在插入数据的时候都很小心,都有插入了同一类型的数据,但在使用的时候,我们也需要将它们转化为对应的原类型来处理。这就存在了装箱与拆箱的操作,会带来很大的性能损耗。
装箱:将值类型的数据打包到引用类型的实例中
int i=123;
object o=(object)i;
拆箱:从引用数据中提取值类型
object o=123;
int i=(int)o;
List类是ArrayList类的泛型等效类。它的大部分用法都与ArrayList相似。
区别在于,在声明List集合时,我们同时需要为其声明List集合内数据的对象类型。