类型参数必须是引用类型:
public class MyClass<T> where T : class{ // 类型参数T必须是引用类型}类型参数必须是值类型:public class MyClass<T> where T : struct{ // 类型参数T必须是值类型}类型参数必须实现指定接口:public class MyClass<T> where T : IComparable{ // 类型参数T必须实现IComparable接口}类型参数必须为指定基类或接口的派生类:public class MyClass<T> where T : MyBaseClass{ // 类型参数T必须为MyBaseClass类或其派生类}类型参数必须有无参构造函数:public class MyClass<T> where T : new(){ // 类型参数T必须有无参构造函数}这些是泛型约束的最常见用途,它们可以帮助我们在编写泛型类或方法时限制类型参数的类型,以提高程序的类型安全性和可读性。


