c#面向对象5
2021-02-18 23:18
1.泛型范围更宅,更好。
2.readonly是只读的意思,表示不能进行写操作.
3.return Default(T)default(T) 在泛型编成中如果不限制T类型参数是值类型或引用类型的话 你程序内部可能会出现错误,
因为值类型不允许NULL.所以default用来获取一个类型的默认值,对于值类型得到new T() 基本得到的都是0;
对于引用类型会得到Null
或者你不使用Default关键词,自己通过反射得到T是指类型还是引用类型 然后设置默认值.
4. public class Cage
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
}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
dogCage.Putin (new Dog ("A"));
dogCage.Putin (new Dog ("B"));
var dog = dogCage.TakeOut ();
dog.PrintName ();
5.泛型方法
void DogIsHappy
}
public void IsHappy
Debug.Log ("happY:" + target.ToString ());
}
var dog = new Dog ("a");
dog.IsHappy