arraylist 声明时不需要指定长度也不需要指定数据类型的数组,所以有数据类型不安全和装箱拆箱引起性能损耗的缺陷。
所以.net 2.0推出list,声明时需指定数据类型。
例:
array
//定义
string[] strs = new string[5];
//赋值
strs[0] = "A";
strs[1] = "B";
//修改
strs[1] = "C";
//取值
string getStr = strs[1];
arraylist
//初始化
ArrayList list = new ArrayList();
//添加元素
list.Add(1);
list.Add("A");
list.Add(0.1);
//修改元素
list[2] = "B";
//指定索引插入元素
list.Insert(1, "ABC");
//移除元素
list.RemoveAt(1);
//装箱:把值类型转换成引用类型;
//拆箱:把引用类型转换成值类型。
//装箱 int i = 1; object obj = (object)i; //拆箱 int j = (int)obj;
list
//初始化
List<int> list = new List<int>();
//添加
list.Add(12);
list.Add(34);
//编译器会进行类型验证、下面代码编译失败
//list.Add("ABC");
//修改
list[0] = 1;
//移除
list.RemoveAt(0);