泛型是编程语言中的一种特性,它允许在强类型语言中,设计程序的时候不指定类型,而在使用的时候才明确类型。
说得直白点:一个方法要支持 int、decimal、string 等类型的参数,用重载?那重载也太多了吧。用 object 类型的参数?那装箱拆箱或强制类型转换操作也太浪费资源了吧,并且在编译时可能无法进行类型检查。并且我还想用同一个方法返回不同的类型值。
C# 中用泛型可以解决这些问题。C# 中泛型可用于类、结构、接口、委托,及其成员。
使用泛型举例
可以看出,List 通过泛型,既方便地处理 int 类型,也方便地处理 string 类型。