泛型 就是 写一个方法,然后通过不同的 数据类型 共同调用。
为什么要用泛型呢(原理)?
遇到底层代码一样,但是传入参数 数据类型 不一样的时候,最好的解决方式就是泛型了。
什么又是泛型约束呢?
就是什么样的 数据类型 才能执行,引用类型?值类型?
public static T getT<T>(T t) where T:class // class 必须满足引用类型
{
return default(T);//返回的默认值 NULL
}
public static T getT<T>(T t) where T:class,new() // new() 无参构造函数
{
T ttt= new T
return default(T);//返回的默认值 NULL
}
public static T getT<T>(T t) where T:struct // struct 必须满足值类型
{
return default(T);//返回的默认值
}
最实用的约束 (被某个类型约束)
public static T getT<T>(T t) where T:User // 所有User子类
{
t.Name;//可以打点
t.age;
return default(T);//返回的默认值 NULL
}
泛型的好处是什么呢