1、泛型参数的约束
1、约束类型和参数
类名:只有这个类型的类或者从他继承的类才能作为类型实参
class:任何引用类型,包括类、数组、委托和接口都可以作为实参
struct:任何值类型都可以被用作类型实参
Interfacename:只有这个接口或者实现这个接口的类型才能用作类型实参
new():任何带有无参公共构造函数的类型都可以用作实参,这叫做构造函数约束
2、where子句可以以任何次序列输出。然而,where子句中的约束必须有特定的顺序
最多只能有一个主约束,如果有则必须放在第一位
可以有任意多的Interfacename约束
如果存在构造函数约束,则必须放在最后