五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

探索 C# 10 的基于文件的命名空間聲明語(yǔ)句

2021-09-19 08:52 作者:SunnieShine  | 我要投稿

C# 10 有一個(gè)減少縮進(jìn)的神奇語(yǔ)法:?jiǎn)涡忻臻g聲明。這個(gè)實(shí)際上是模仿了 Java 的 package 的基本語(yǔ)法,為了減少縮進(jìn)就這么干的。

按照道理來(lái)說(shuō),C# 確實(shí)應(yīng)該很早就有這個(gè)特性,因?yàn)?GitHub 上 C# 語(yǔ)法特性討論區(qū)里經(jīng)常有人想要讓 C# 團(tuán)隊(duì)減少這樣的無(wú)意義的縮進(jìn)。但是 C# 設(shè)計(jì)團(tuán)隊(duì)考慮了一些兼容性問(wèn)題因此遲遲沒(méi)有搞這個(gè)。

語(yǔ)法

寫(xiě)法其實(shí)和以前的寫(xiě)法如出一轍,不過(guò)少了一層大括號(hào)。

現(xiàn)在我們省去第 3 行和第 8 行的大括號(hào),而對(duì) namespace 后追加分號(hào):

這樣確實(shí)要清爽不少。

簡(jiǎn)化版寫(xiě)法不支持嵌套

稍微要注意的地方是,因?yàn)樵谠缙诘?C# 里,命名空間聲明由于有大括號(hào),所以支持嵌套:

不過(guò)在簡(jiǎn)化語(yǔ)法后,這樣的嵌套不再支持。如果你非得這么寫(xiě)代碼,只能使用原始語(yǔ)法(像上面這樣)。

所以,C# 10 里規(guī)定,如果你使用簡(jiǎn)化版的命名空間聲明語(yǔ)句,一個(gè)文件只能有一個(gè) namespace 的聲明,并且必須要放在最開(kāi)頭(僅次于 #define 這些預(yù)處理指令和 using 指令之后)的位置上。比如下面這樣就是不允許的:

一個(gè)文件一旦用了新語(yǔ)法后,就不能使用超過(guò)一個(gè)的命名空間聲明的簡(jiǎn)化寫(xiě)法了。

namespaceusing 指令的先后順序

接著是 namespaceusing 指令的混用的寫(xiě)法。

我們一般的順序是先 using 指令,然后是 namespace 指令,然后才是內(nèi)容。因?yàn)?namespace 出現(xiàn)了簡(jiǎn)化版,所以它的長(zhǎng)相更加接近于 using 指令(甚至從語(yǔ)法上,namespace 指令和 using 指令現(xiàn)在只有關(guān)鍵字不同)。所以剛開(kāi)始用會(huì)很不習(xí)慣。一定要注意先 using 指令后才是 namespace 指令。如果反過(guò)來(lái)的話,C# 早期語(yǔ)法的規(guī)范,這種寫(xiě)法是兼容的,但我們一般不那么寫(xiě)。

舉個(gè)例子。

這個(gè)代碼是把 using 指令放在了 namespace 的下方。按規(guī)則來(lái)說(shuō)我們一般是反過(guò)來(lái),所以這樣寫(xiě)的話不算錯(cuò),但不符合一般的習(xí)慣寫(xiě)法,因?yàn)樗葍r(jià)于早期寫(xiě)法:

即直接把 using 放在了 namespace 和這對(duì)大括號(hào)的里面。所以一定注意習(xí)慣上的書(shū)寫(xiě)順序。

探索 C# 10 的基于文件的命名空間聲明語(yǔ)句的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
景宁| 自贡市| 遂川县| 密山市| 梁平县| 长海县| 新蔡县| 武邑县| 手游| 新密市| 称多县| 宜兰市| 青海省| 安阳市| 临夏县| 会东县| 江城| 合肥市| 苍溪县| 高碑店市| 廉江市| 鹤庆县| 武山县| 永清县| 松江区| 绍兴县| 蒙阴县| 栖霞市| 富民县| 水富县| 白朗县| 三江| 万荣县| 阳泉市| 江城| 新余市| 喀喇沁旗| 龙山县| 郓城县| 威海市| 乌兰察布市|