通过参数化类型来实现在同一份代码上操作多种数据类型。 运行时泛型(CLR支持,编译时使用占位符代替类型,运行时替换为特定的类型) 1.更强的类型安全 2.更好的复用 3.更高的效率 4.更清晰的约束 泛型接口、泛型委托 、泛型方法