第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

可空類型和三值運(yùn)算符:為什么‘?10:空’是被禁止的?

可空類型和三值運(yùn)算符:為什么‘?10:空’是被禁止的?

忽然笑 2019-06-19 16:23:08
可空類型和三值運(yùn)算符:為什么‘?10:空’是被禁止的?我只是遇到了一個(gè)奇怪的錯(cuò)誤:private bool GetBoolValue(){     //Do some logic and return true or false}然后,在另一種方法中,如下所示:int? x = GetBoolValue() ? 10 : null;簡單,如果方法返回true,則將10賦值給Nullableint否則,將空賦值給可空INT。但是,編譯器會抱怨:錯(cuò)誤1不能確定條件表達(dá)式的類型,因?yàn)樵趇nt和<null>.我要瘋了嗎?
查看完整描述

3 回答

?
大話西游666

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超14個(gè)贊

編譯器首先嘗試計(jì)算右側(cè)表達(dá)式:

GetBoolValue() ? 10 : null

這個(gè)10int字面(非)int?)和null是,嗯,null..這兩者之間沒有隱式轉(zhuǎn)換,因此出現(xiàn)了錯(cuò)誤消息。

如果將右側(cè)表達(dá)式更改為下列之一,則會進(jìn)行編譯,因?yàn)樵谝韵聝?nèi)容之間存在隱式轉(zhuǎn)換。int?null(#1)intint? (#2, #3).

GetBoolValue() ? (int?)10 : null    // #1
GetBoolValue() ? 10 : (int?)null    // #2
GetBoolValue() ? 10 : default(int?) // #3


查看完整回答
反對 回復(fù) 2019-06-19
?
千萬里不及你

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超9個(gè)贊

試試這個(gè):

int? x = GetBoolValue() ? 10 : (int?)null;

基本情況是,條件運(yùn)算符無法確定表達(dá)式的“返回類型”。因?yàn)榫幾g器間接地決定10int然后,它決定此表達(dá)式的返回類型應(yīng)為int也是。因?yàn)?/trans>int不可能null(條件運(yùn)算符的第三個(gè)操作數(shù))它抱怨。

通過鑄造null轉(zhuǎn)到Nullable<int>我們正在顯式地告訴編譯器,這個(gè)表達(dá)式的返回類型應(yīng)該是Nullable<int>..你本可以很容易的10int?也有同樣的效果。


查看完整回答
反對 回復(fù) 2019-06-19
?
HUH函數(shù)

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超4個(gè)贊

試試這個(gè):

int? result = condition ? 10 : default(int?);


查看完整回答
反對 回復(fù) 2019-06-19
  • 3 回答
  • 0 關(guān)注
  • 351 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號