一、什么是泛型
先看一段介绍
泛型(Generic),是将不确定的类型预先定义下来的一种C#高级语法,我们在使用一个类,接口或者方法前,不知道用户将来传什么类型,或者我们写的类,接口或方法相同的代码可以服务不同的类型,就可以定义为泛型。这会大大简化我们的代码结构,同时让后期维护变得容易。
泛型很适用于集合,我们常见的泛型集合有:List<T>,Dictionary<K,V>等等(T,K,V就代表不确定的类型,它是一种类型占位符),无一不是利用的泛型这一特性,若没有泛型,我们会多出很多重载方法,以解决类型不同,但是执行逻辑相同的情况。
在使用泛型时,我们要懂得为甚么使用泛型,因为我们的输入类型存在不确定性,才使用泛型。泛型只是定义输入类型<T>,然后在继承或实例时去确定使用类型,但要主要注意要对其进行约束。