ArrayList与List<T>的区别
ArrayList alist = new ArrayList(); //ArrayList(object value),所以ArrayList可以存储任何类型,如果存储值类型的话会进行装箱操作,在操作的时候会进行拆箱操作,在进行大量数据循环操作的时候会降低性能。 alist.Add(4); alist.Add("abc"); int i = 0; foreach (int item in alist) { i += item;//ArrayList的参数都会隐式转换为object类型,在编译的时候并不知道其本身是什么类型,在进行操作时如果类型转换失败会报错,但编译的时候不会报错 Console.WriteLine(item); } List<int> list = new List<int>();//List<T>在实例化对象的时候要确定泛型T的类型 list.Add(4); //list.Add("abc");//List<T>只能存储泛型T的固定类型,否则编译报错。 Console.ReadKey();
List<T>比ArrayList更安全,适合列表项是值类型的大量操作。