c#物件導向5

來源:互聯網
上載者:User

標籤: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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.