標籤:default bug string print 限制 預設值 方法 出現 允許
1.泛型範圍更宅,更好。
2.readonly是唯讀意思,表示不能進行寫操作.
3.return Default(T)default(T) 在泛型編成中如果不限制T型別參數是實值型別或參考型別的話 你程式內部可能會出現錯誤,
因為實值型別不允許NULL.所以default用來擷取一個類型的預設值,對於實值型別得到new T() 基本得到的都是0;
對於參考型別會得到Null
或者你不使用Default關鍵詞,自己通過反射得到T是指類型還是參考型別 然後設定預設值.
4. public class Cage <T>{
T[] array;
readonly int Size;
int num;//已經幾隻了
public Cage(int n){
Size = n;
num = 0;
array = new T[Size];
}
public void Putin(T pet){
if(num <Size){
array [num++] = pet;
}else{
Debug.Log("cage is full");
}
}
public T TakeOut(){
if(num>0){
return array [--num];
}else {
Debug.Log("cage is empty");
return default(T);
}
}
}
var dogCage = new Cage<Dog> (1);
dogCage.Putin (new Dog ("A"));
dogCage.Putin (new Dog ("B"));
var dog = dogCage.TakeOut ();
dog.PrintName ();
5.泛型方法
void DogIsHappy<T>(T target){
}
public void IsHappy<T>(T target){
Debug.Log ("happY:" + target.ToString ());
}
var dog = new Dog ("a");
dog.IsHappy<int> (3);
c#物件導向5