C# default(T)


在泛型類型中,由於泛型類型即可以是引用類型也可以是值類型,所以不能用null來表示默認值。這里通過default來進行。引用類型的default將泛型類型初始化null,值類型的default將泛型類型初始化為0。

之所以會用到default關鍵字,是因為需要在不知道類型參數為值類型還是引用類型的情況下,為對象實例賦初值。考慮以下代碼:

class TestDefault<T>
    {
        public T foo()
        {
            T t = null; //???
            return t;
        }
    }

如果我們用int型來綁定泛型參數,那么T就是int型,那么注釋的那一行就變成了 int t = null;顯然這是無意義的。為了解決這一問題,引入了default關鍵字:

class TestDefault<T>
    {
        public T foo()
        {
                return default(T);
        }
    }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM