泛型介绍总结
泛型类和泛型方法通过将参数类型指定特定的占位符T,在实例化的时候根据实际情况替换参数类型.
泛型优缺
使用泛型类型可以最大限度地重用代码、保护类型安全性以及提高性能。
泛型最常见的用途是创建集合类。
.NET Framework 类库在 System.Collections.Generic 命名空间中包含几个新的泛型集合类。 应尽可能使用这些类来代替某些类,如 System.Collections 命名空间中的 ArrayList。
可以创建自己的泛型接口、泛型类、泛型方法、泛型事件和泛型委托。
可以对泛型类进行约束以访问特定数据类型的方法。
在泛型数据类型中所用类型的信息可在运行时通过使用反射来获取。
泛型的使用
GenericList<T>为一个泛型类。可以实例化多个泛型实例:如
GenricList<int> list=new GenericList<int>();
GenericList<string> list=new GenericList<string>();
举例说明:
上述约束使用在泛型类的定义的时候可以使用Employee类的属性。、
此外可以泛型类、泛型方法可能不知一个泛型参数,如void ConsoleWrite(T t,U u)因此可能对多个泛型参数进行约束:
泛型数组
泛型的default关键字
泛型类与泛型方法中的参数类型T可能为值类型,可以可能是引用类型
T 为引用类型时,语句 t = null 才有效;
T 为数值类型而不是结构时,语句 t = 0 才能正常使用。
为了克服泛型中这个 问题,使用 default 关键字,此关键字对于引用类型会返回 null,对于数值类型会返回零。 对于结构,此关键字将返回初始化为零或 null 的每个结构成员,具体取决于这些结构是值类型还是引用类型。
,