UNITY x C#基礎認識(new){新、創}

new關鍵字有三種用法
當作運算子:

int i = new int();
建構了int的預設建構函式,也就同等於
int i = 0;
或者
MyClass myclass = new MyClass();

 
當作修飾詞:

public class Base
{
    public static int i = 1;
}
new 修飾詞使用完整限定名稱存取基底類別的隱藏成員,但可重新賦予值。
public class BaseNew : Base
{
    new public static int i = 100;
    void Start()
    {
        Debug.Log(i);
        Debug.Log(Base.i);
    }
}

印出
100
1
條件約束:
條件約束 (Constraint) 指定在泛用類別宣告的任何型別參數,都必須具有公用的無參數建構函式。

class ItemFactory<T> where T : new()
{
    public T GetNewItem()
    {
        return new T();
    }
}

將new條件約束與其他條件約束一起使用時,一定要將其指定為最後一個:

public class ItemFactory2<T> where T : IComparable, new()
{
}

UNITY x C#基礎認識(一){程式語法基本結構,與關鍵字}

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *