泛型
在 C# 中,泛型(Generic)是一种规范,它允许我们使用占位符来定义类和方法,编译器会在编译时将这些占位符替换为指定的类型,利用泛型的这一特性我们可以定义通用类(泛型类)或方法(泛型方法)。
泛型特点
可以将泛型看作是一种增强程序功能的技术,泛型类和泛型方法兼具可重用性、类型安全性和效率,这是非泛型类和非泛型方法无法实现的。泛型通常与集合以及作用于集合的方法一起使用,System.Collections.Generic 命名空间下就包含几个基于泛型的集合类。下面总结了一些关于泛型的特性:
*使用泛型类型可以最大限度地重用代码、保护类型的安全性以及提高性能;
* 泛型最常见的用途是创建集合类;
* .NET 类库在 System.Collections.Generic 命名空间中包含几个新的泛型集合类,可以使用这些类来代替 System.Collections 中的集合类;
* 可以创建自己的泛型接口、泛型类、泛型方法、泛型事件和泛型委托;
* 也可以对泛型类进行约束以访问特定数据类型的方法;
* 在泛型数据类型中所用类型的信息可在运行时通过使用反射来获取。
定义通用类(方法)需要使用尖括号`<>`,这里的尖括号用于将类或方法声明为泛型。
定义泛型类 :
结果:
定义泛型方法
结果
泛型委托
结果 :