基本概念
C#中可空類型是值可以為null的類型,也就是說(shuō)可以直接賦值為null,比如int? value = null。
出現(xiàn)的問(wèn)題
按一般編程string text = true ? 'hello,world':null來(lái)同樣給可空類型進(jìn)行三元運(yùn)算符計(jì)算
int? value = true ? 1 : null;
編輯器會(huì)提示:無(wú)法確定表達(dá)式的類型,因?yàn)?lt;null>和int之間沒(méi)有存在隱式轉(zhuǎn)換
解決方法
既然不能隱式轉(zhuǎn)換,那就采取顯式轉(zhuǎn)換,代碼如下:int? value = ture ? 1 : (int?)null
小結(jié)
- 三元運(yùn)算符結(jié)果之間的類型必須可以
隱式轉(zhuǎn)換 - 可空類型的三元運(yùn)算符操作如果需要賦值為
null的話,需要進(jìn)行強(qiáng)制(顯式)轉(zhuǎn)換