北大青鸟佳音旗舰

浅谈C#编程 泛型编程的好处

点击数: 更新时间:2010-05-21 16:02:34
 


 泛型最大的4个好处:

  1,性能

  分析下面的例子

  ArrayList的Add()方法定义为需要把一个对象作为参数,所以要装箱一个整数类型。在读取ArrayList中的值时,要进行拆箱,把对象转换为整数类型。 装箱和拆箱操作容易使用,但是性能损失比较大,迭代许多项时尤其如此。

  01 CODE 1:

  02

  03 ArrayList list = new ArrayList();

  04 list.Add(44);    // boxing - covert a value type to a reference type

  05

  06 int i1 = (int)list[0]   //unboxing - covert a reference type to a value type

  07

  08

  09 foreach(int i2 in list)

  10 {

  11     Console.WriteLine(i2); // unboxing

  12 }

  List<T>类不是用对象,而是在使用时定义类型。在下面的例子中,List<T>类的泛型类型定义为int,所以int类型在JIT编译器动态生成的类中使用,不再进行装箱和拆箱操作。

  01 CODE2:

  02

  03 List<int> list = new List<int>();

  04 list.Add(44);     // no boxing - value types are stored in the List<int>

  05

  06 int i1 = list[0];    // no unboxing, no cast needed

  07

  08 foreach (int i2 in list)

  09 {

  10     Console.WriteLine(i2);

  11 }

  2. 类型安全

  理解起来很简单,就是如果类型不匹配就会报错。确保类型安全

  3.二进制代码重用

  泛型允许更好的重用二进制代码。泛型类可以定义一次,用许多不通的类型实例化。不需要像C++模板那样访问源代码。

  4. 代码的扩展

  这个没看懂啥意思。

 


            

相关信息
没有相关内容
©Copyright2004 - 2011 , All Rights Reserved
地址:北京西城区北礼士路100号( 阜成门华联商厦西门北侧北走50米)100037北大青鸟地址
京ICP备06064589号
51.la