课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,越来越多的人都在学习计算机编程开发技术,而本文我们就通过案例分析来简单了解一下,软件开发泛型优缺点与进阶方式。
一、什么是泛型
1.泛型类和泛型方法兼复用性、类型安全和高效率于一身,是与之对应的非泛型的类和方法所不及。泛型广泛用于容器(collections)和对容器操作的方法中。.NET框架2.0的类库提供一个新的命名空间System.Collections.Generic,其中包含了一些新的基于泛型的容器类。要查找新的泛型容器类(collectionclasses)的示例代码,请参见基础类库中的泛型。当然,你也可以创建自己的泛型类和方法,以提供你自己的泛化的方案和设计模式,这是类型安全且高效的。
二、泛性优点
1.在我们.net1.0刚刚推出的时候,我们有不同的类型调用同一个方法的时候,要么给每一个类型写一个专门的方法,还有一种处理方案就是,利用了我们继承的特点,因为Object是所有类型的基类,我们就可以定义一个Object参数的方法,但是这样会有一个缺点,我们都知道Object是引用类型,当我们实际的参数是值类型的时候需要拆箱、装箱操作这里就是没必要的消耗了。
2.上面我针对几种方法测试的时候,可以明显发现使用Object方法慢于普通方法,和泛型方法,我们有可以看到泛型方法会比普通方法快那么一点点,不过可以忽略不计。因为泛型方法的类型不会立即编译出来,会生成一个占位符的东西。
3.我们定义一个泛型,它不会立即获取我们的类型,会生成一个占位符,只有我们在运行中的时候才获取类型。一切延迟的思想。
三、泛型进阶
1.协变、逆变(不过我在项目中还没有遇到过这样的需求,但是思想还是可以的)
ViewCode
2.泛型缓存,当我们执行一个类之前都会先执行我们的静态构造函数,和初始化我们的静态字段。然后将执行的信息保存到内存中,直到我们的程序重启之后,才会失效。主要是利用了我们静态容器一旦执行完之后会一直保存在程序内存中,然后配合我们的泛型类,就可以根据不同的泛型产生不同的静态容器,分别存储了不同信息
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。