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

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

為什么不能在嵌套的本地范圍中聲明重復的變量名?

為什么不能在嵌套的本地范圍中聲明重復的變量名?

慕森王 2019-10-21 10:31:58
基于最近的問題,我不明白所提供的答案。似乎您應該能夠執(zhí)行這樣的操作,因為它們的范圍不會重疊static void Main(){  {    int i;  }  int i;}此代碼無法編譯,并出現(xiàn)以下錯誤:不能在此范圍內(nèi)聲明名為“ i”的局部變量,因為它將賦予“ i”不同的含義,“ i”已在“子”范圍中用于表示其他內(nèi)容
查看完整描述

3 回答

?
Smart貓小萌

TA貢獻1911條經(jīng)驗 獲得超7個贊

我不認為任何的答案至今已相當?shù)玫搅艘?guī)范的關鍵線。


從8.5.1節(jié)開始:


在local-variable-declaration中聲明的局部變量的范圍是聲明所在的塊。在文本位置引用局部變量的局部變量聲明符之前的局部變量是錯誤的。在局部變量的范圍內(nèi),聲明另一個具有相同名稱的局部變量或常量是編譯時錯誤。


(強調(diào)我的。)


換句話說,“較晚”變量的范圍包括聲明之前的塊的一部分,即它包括包含“較早”變量的“內(nèi)部”塊。


您不能在比其聲明更早的位置引用后面的變量-但它仍在范圍內(nèi)。


查看完整回答
反對 回復 2019-10-21
?
至尊寶的傳說

TA貢獻1789條經(jīng)驗 獲得超10個贊

根據(jù)C#語言規(guī)范:


塊的局部變量聲明空間包括任何嵌套塊。因此,在嵌套塊中無法聲明與封閉塊中的局部變量同名的局部變量。


本質(zhì)上,這是不允許的,因為在C#中,它們的作用域?qū)嶋H上是重疊的。


編輯:只是為了澄清,C#的范圍是在塊級別而不是逐行解決的。因此,雖然確實不能在聲明之前引用代碼中的變量,但其作用域一直擴展到塊的開頭,這也是事實。


查看完整回答
反對 回復 2019-10-21
  • 3 回答
  • 0 關注
  • 925 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

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