ArrayList与List的区别

            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更安全,适合列表项是值类型的大量操作。

你可能感兴趣的:(ArrayList)