泛型 就是 寫一個方法,然后通過不同的 數據類型 共同調用。
為什么要用泛型呢(原理)?
遇到底層代碼一樣,但是傳入參數 數據類型 不一樣的時候,最好的解決方式就是泛型了。
什么又是泛型約束呢?
就是什么樣的 數據類型 才能執行,引用類型?值類型?
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
}
泛型的好處是什么呢