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

C# default關(guān)鍵字

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

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

public MyGenericClass()

{

    innerTlObject = null;

}

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

public MyGenericClass()

(

    innarTlObject = default(Tl);

}

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

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

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