zhouqijie

泛型概述

C#中的几种泛型

  1. 泛型方法
  2. 泛型类
  3. 泛型结构
  4. 泛型接口

性能和类型安全

泛型的一个主要优点是性能。例如,List<T>相比ArrayList省去了装箱和拆箱的操作。

泛型的另一个特性是类型安全。

二进制代码重用

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

泛型类的定义会放在程序集中,所以用特定的的类型实例化泛型类不会在IL代码中复制这些类。但是在JIT编译器把泛型类编译为本地代码时,会给每个值类型创建一个新类,因为每个值类型对内存的要求都不同。

CRE:C#泛型的语法类似C++模板,但是机制不一样。
CRE:C#泛型相比C++模板,功能较为受限。
CRE:C++模板是编译时具体化的。

(END)