C# 聲明模式
2023-01-14 21:54 作者:SunnieShine | 我要投稿
聲明模式用于簡單判斷一個(gè)模糊的數(shù)據(jù)類型是否是某個(gè)具體的數(shù)據(jù)類型,并嘗試將其轉(zhuǎn)換過去。
注意語法 greeting is string message
的寫法。C# 最開始允許 is
的寫法是 obj is T
,而 T
之后寫的變量指的是“如果 obj
確實(shí)是 T
類型的實(shí)例的話,那么 message
就可以使用了”。換句話說,這段代碼等價(jià)于下面這樣的代碼:
即在大括號里等效進(jìn)行類型轉(zhuǎn)換。
2、聲明模式仍可能會進(jìn)行拆箱
假設(shè)我們原始的對象是裝箱的操作:
那么,即使你使用這個(gè)語法來獲取結(jié)果:
它也避免不了拆箱行為:因?yàn)樗扔?o is int
后直接進(jìn)行 int v = (int)o
的拆箱賦值操作,所以它會隱式地進(jìn)行拆箱,它是避免不了的。
標(biāo)簽: