亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

為什么帶有可空值的C#重載不是模棱兩可的?

為什么帶有可空值的C#重載不是模棱兩可的?

C#
慕的地6264312 2021-05-05 14:12:08
為什么C#允許以下方法重載:void F(int a) { Console.WriteLine(1); }void F(int? a) { Console.WriteLine(2); }如果我運行該代碼:A a = new A();a.F(1); 它打印1。編譯器如何知道要調用哪一個。這不是模棱兩可的嗎?我認為可空類型背后的想法是,您可以傳入正確類型的值,也可以傳入null。所以我應該能夠調用第一F與(1)和第二F帶(1)或(null)。我這里有一個很好的例子。更新: 閱讀答案后,我感到困惑的原因是我認為可為空的參數與可選參數同義。確實,用替換第二種方法void F(int a = 0);會導致編譯錯誤。
查看完整描述

1 回答

  • 1 回答
  • 0 關注
  • 136 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號