課程
/后端開發(fā)
/C#
/C#面向?qū)ο缶幊?/a>
returen default(T);
這一句起到的是什么作用,為什么是在取出的時候使用,裝進去的時候不能使用么
2019-07-24
源自:C#面向?qū)ο缶幊?nbsp; 5-1
正在回答
之所以會用到default關(guān)鍵字,是因為需要在不知道類型參數(shù)為值類型還是引用類型的情況下,為對象實例賦初值??紤]以下代碼:
class TestDefault<T>
? ? {
? ? ? ? public T foo()
? ? ? ? {
? ? ? ? ? ? T t = null; //???
? ? ? ? ? ? return t;
? ? ? ? }
? ? }
如果我們用int型來綁定泛型參數(shù),那么T就是int型,那么注釋的那一行就變成了 int t = null;顯然這是無意義的。為了解決這一問題,引入了default關(guān)鍵字:
? ? ? ? ? ? ? ? return default(T);
? ?}
舉報
本系列教程主要是,帶你學(xué)習(xí)C#面向?qū)ο缶幊痰木幊趟枷?、編程技?/p> 進入課程
1 回答關(guān)于if的問題
1 回答關(guān)于接口的問題
2 回答關(guān)于接口的問題
2 回答關(guān)于接口問題
2 回答關(guān)于C#面向?qū)ο髥栴}
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2019-07-30
之所以會用到default關(guān)鍵字,是因為需要在不知道類型參數(shù)為值類型還是引用類型的情況下,為對象實例賦初值??紤]以下代碼:
class TestDefault<T>
? ? {
? ? ? ? public T foo()
? ? ? ? {
? ? ? ? ? ? T t = null; //???
? ? ? ? ? ? return t;
? ? ? ? }
? ? }
如果我們用int型來綁定泛型參數(shù),那么T就是int型,那么注釋的那一行就變成了 int t = null;顯然這是無意義的。為了解決這一問題,引入了default關(guān)鍵字:
class TestDefault<T>
? ? {
? ? ? ? public T foo()
? ? ? ? {
? ? ? ? ? ? ? ? return default(T);
? ? ? ? }
? ?}