位置:首頁(yè) > 軟件操作教程 > 編程開(kāi)發(fā) > C# > 問(wèn)題詳情

C# default關(guān)鍵字

提問(wèn)人:劉團(tuán)圓發(fā)布時(shí)間:2020-12-08

    要確定用于創(chuàng)建泛型類(lèi)實(shí)例的類(lèi)型,需要了解一個(gè)最基本的情況:它們是引用類(lèi)型還是值類(lèi)型。若不知道這個(gè)情況,就不能用下面的代碼賦予null值:

public MyGenericClass()

{

    innerTlObject = null;

}

如果Tl是值類(lèi)型,則innerTlObject不能取null值,所以這段代碼不會(huì)編譯。幸好,開(kāi)發(fā)人員考慮到了這個(gè)問(wèn)題,使用default關(guān)鍵字的新用法解決了它。這I新用法如下:

public MyGenericClass()

(

    innarTlObject = default(Tl);

}

其結(jié)果是,如果innerTlObject是引用類(lèi)型,就給它賦予null值;如果它是值類(lèi)型,就給它賦予默認(rèn)值。對(duì)于數(shù)字類(lèi)型,這個(gè)默認(rèn)值是0;而結(jié)構(gòu)根據(jù)其各個(gè)成員的類(lèi)型,以相同的方式初始化為0或null。defcult關(guān)鍵字允許對(duì)必須使用的類(lèi)型執(zhí)行更多操作,但為了更進(jìn)—步,還需要限制所提供的類(lèi)型。

繼續(xù)查找其他問(wèn)題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部