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

posted @ 2013-08-04 10:22  小小一书童  阅读(275)  评论(0编辑  收藏  举报