浅谈C#编程 泛型编程的好处
来源:互联网 发布:中英文对照软件 编辑:程序博客网 时间:2024/05/01 22:02
泛型最大的几个好处:
1,性能
分析下面的例子
ArrayList的Add()方法定义为需要把一个对象作为参数,所以要装箱一个整数类型。在读取ArrayList中的值时,要进行拆箱,把对象转换为整数类型。装箱和拆箱操作容易使用,但是性能损失比较大,迭代许多项时尤其如此。
01 CODE 1:
02
03 ArrayList list = new ArrayList();
04 list.Add(44); // boxing - covert a valuetype to a reference type
05
06 int i1 = (int)list[0] //unboxing - covert areference type to a value type
07
08
09 foreach(int i2 in list)
10 {
11 Console.WriteLine(i2); // unboxing
12 }
List类不是用对象,而是在使用时定义类型。在下面的例子中,List类的泛型类型定义为int,所以int类型在JIT编译器动态生成的类中使用,不再进行装箱和拆箱操作。
01 CODE2:
02
03 List list = new List();
04 list.Add(44); // no boxing - valuetypes are stored in the List
05
06 int i1 = list[0]; // no unboxing, no castneeded
07
08 foreach (int i2 in list)
09 {
10 Console.WriteLine(i2);
11 }
2. 类型安全
理解起来很简单,就是如果类型不匹配就会报错。确保类型安全
3.二进制代码重用
泛型允许更好的重用二进制代码。泛型类可以定义一次,用许多不通的类型实例化。不需要像C++模板那样访问源代码。
- 浅谈C#编程 泛型编程的好处
- 浅谈面向对象编程的好处
- 浅谈面向接口编程好处
- C#编程指令的好处和用法
- 接口编程的好处
- 接口编程的好处
- 接口编程的好处
- 接口编程的好处
- C# Socket编程浅谈
- 浅谈泛型编程
- C# 浅谈插件编程的经验
- 模板元编程的好处
- 面向接口编程的好处
- 编程:休息片刻的好处
- 编程:休息片刻的好处
- 编程:休息片刻的好处
- 编程:休息片刻的好处
- 编程:休息片刻的好处
- Android简明开发教程八:引路蜂二维图形绘制实例功能定义
- Android简明开发教程九:创建应用程序框架
- Android简明开发教程十:数据绑定Data Binding
- JTable's Bug
- ubuntu中一些环境变量配置
- 浅谈C#编程 泛型编程的好处
- 主板sata设置成ide装的win7,再调回ahci就需要重装吗?
- 重装mysql后出现"cannot create windows service for mysql.error:0"错误
- 【淘宝SEO】论坛推广的6个方法及注意事项
- ifconfig 详解
- Using the Code Coverage Tools from the Command Line
- 解决VM开机时vmware开机提示驱动器未就绪
- Unable to execute dex: wrapper was not properly loaded first
- 【转】C++指向类成员的指针的使用(详细介绍)