.NET2.0之泛型

来源:互联网 发布:淘宝 定制 退货 编辑:程序博客网 时间:2024/06/08 17:23

.NET12.0相对于.NET 1.1增加了泛型的内容,其特点我认为有:

(1)可以在很大程度上,简化模块的重用,使用泛型可以动态指定数据的类型(简单类型和复杂类型,或者说值类型和引用类型).这样就使得很多不同类型的相同操作,都用一个泛型类型来代替就可以。

(2)泛型在写集合的应用时,特别有用.在.NET1.1中,也有集合类(在System.Collection命名空间中).但是.NET1.1的集合类往往对于值类型的数据要装箱(如果数据量大的话,这样在很大程度上影响了程序的性能).所以在.NET 2.0中,引入了一个新的命名空间(System.Collection.Generic)和一些新的泛型类型.这样,在对性能要求非常严格的程序中,泛型也许会是一个不错的解决方案.但是今天写了个测试程序,发现时间并没有快,不知道什么原因:请高手指点.

程序如下:

class GenericDemoMain
    {
        public static void Main()
        {
            #region ***************使用泛型*****************
            DateTime old = DateTime.Now;
            List<long> l = new List<long>();
            for (long i = 0; i < 100000; i++)
            {
                l.Add(i);
            }
            foreach (long i in l)
            {
                Console.Write(i + "  ");
            }
            //获取处理时间
            string ge = (DateTime.Now.Subtract(old)).ToString();
           
            #endregion

            #region ****************使用ArrayList*****************
            DateTime old1 = DateTime.Now;
            ArrayList al = new ArrayList();
            for (long i = 0; i < 100000; i++)
            {
                al.Add(i);
            }
            foreach (long i in al)
            {
                Console.Write(i + "  ");
            }
            //输出处理时间,作比较
            Console.WriteLine("进行装箱操作所用时间:"+(DateTime.Now.Subtract(old1)).ToString());
            Console.WriteLine("使用泛型所用时间:" + ge);
            #endregion
        }
    }

原创粉丝点击