C#泛型特性

泛型概念 :泛型是通过参数化类型来实现同一份代码上操作多种数据类型

为什么用泛型:减少装箱拆箱提高运行效率 类型安全 代码重用

泛型的优点:

1.泛型增强了代码的可读性

2.泛型实现代码重用 提高性能

3.类型安全

4.泛型实现了类型和方法的参数化

5.对泛型类进行约束以访问特定数据类型的方法。

泛型的约束:

T:结构 值类型可以指定除 Nullable 以外的任何值类型

T:类 引用类型 包括类 接口 委托 数组类型

T:new() 类型参数必须具有无参数的公共构造函数。当与其他约束一起使用时,new()?约束必须最后指定。

T:<基类名> 类型参数必须是指定的基类或派生自指定的基类。

T:<接口名称> 类型参数必须是指定的接口或实现指定的接口。可以指定多个接口约束。约束接口也可以是泛型的。

泛型方法更加灵活 可以存在泛型类也可以存在费泛型类