1. 程式人生 > >c#面向對象5

c#面向對象5

var 只讀 mil 表示 div 不能 clas 獲取 gpo

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