国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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ó)家法律
安新县| 青海省| 平远县| 乡城县| 镇远县| 竹北市| 察雅县| 彰化市| 瓮安县| 榆林市| 大厂| 周口市| 安阳市| 句容市| 泸水县| 平安县| 寻乌县| 千阳县| 湘潭市| 巴楚县| 名山县| 阳谷县| 长子县| 巩留县| 称多县| 富蕴县| 绍兴县| 灵山县| 志丹县| 古田县| 湖南省| 河津市| 安乡县| 通化县| 敦煌市| 屏南县| 观塘区| 九龙城区| 灵丘县| 新邵县| 恩平市|