泛型
1、泛型是 通过参数化类型来实现在同一份代码上操作多种数据类型 的 技术,利用“参数化类型”将类型抽象化,从而实现灵活的复用。
泛型是C#2.0以后的一种新的语法,不是语法糖
2、
1. 泛型增强了代码的可读性
2. 泛型有助于实现代码的重用、保护类型的安全以及提高性能。
3. 我们可以创建泛型集合类。
4. 泛型实现了类型和方法的参数化
5. 我们还可以对泛型类进行约束以访问特定数据类型的方法。
6. 关于泛型数据类型中使用的类型的信息可在运行时通过使用反射获取
3、
struct 类型参数必须是值类型。可以指定除 Nullable 以外的任何值类型。有关更多信息,请参见使用可空类型(C# 编程指南)。
class 类型参数必须是引用类型,包括任何类、接口、委托或数组类型。
new() 类型参数必须具有无参数的公共构造函数。当与其他约束一起使用时,new() 约束必须最后指定。
<基类名>类型参数必须是指定的基类或派生自指定的基类子类。
<接口名称>类型参数必须是指定的接口或实现指定的接口。可以指定多个接口约束。约束接口也可以是泛型的。
5、泛型方法,提供了更加多变的灵活性。泛型方法可以存在于泛型类,也可以在于非泛型类中。你可以将类型参数作为某个方法的参数、返回值、或者局部变量,该类型参数可能并不被整个类所需要,而更明确的用于某个方法。
6、List<T> 对应ArrayList集合类
SortedList<TKey, TValue> 对应SortedList集合类
Queue<T> 先进先出的集合类Stack<T> 后进先出的集合类
Collection<T> 自定义泛型集合的基类
Dictionary<TKey, TValue> 对应于Hashtable集合类

浙公网安备 33010602011771号