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

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

可能你不知道的沙雕 C# 寫法(3):字符串也是有語(yǔ)義分析的哦

2022-09-11 17:07 作者:SunnieShine  | 我要投稿

大家都知道,C# 一共使用多種字符串格式的字面量來(lái)聲明字符串:

  • 普通字符串字面量:"This is a string."

  • 原義字符串字面量:@"This is a verbatim string."

  • 內(nèi)插字符串字面量:$"This is an interpolated string with value {nameof(variable)} = {variable}."

  • 帶內(nèi)插的原義字符串字面量:$@"String value."@$"String value."

  • 原生字符串字面量:"""This is a raw string literal."""

  • 帶內(nèi)插的原生字符串字面量:$"""Interpolated string: {nameof(variable)} = {variable}"""

當(dāng)然,這不是在給各位科普字面量格式。今天是給大家說(shuō)一個(gè)特殊的語(yǔ)法識(shí)別規(guī)則。

平時(shí)可能你會(huì)經(jīng)常用到一些別的語(yǔ)言的語(yǔ)法,然后以字符串形式鑲嵌進(jìn) C# 代碼里去的情況。比如說(shuō)我想寫一個(gè) JSON 字符串:

比如這樣的內(nèi)容。但有些時(shí)候,因?yàn)樽址奶厥庑裕皇怯脕?lái)呈現(xiàn)字符的序列用的,所以它不一定會(huì)被編譯器識(shí)別成別的語(yǔ)言,畢竟 C# 編譯器只管 C# 的語(yǔ)法,對(duì)吧。所以,假設(shè)我在里面插入了一些別的字符導(dǎo)致 JSON 字符串不合規(guī)之后,可能就很難被看出來(lái),比如冒號(hào)寫成中文的了。

我在標(biāo)記注釋的地方插入了一個(gè)中文的冒號(hào)。這很難被發(fā)現(xiàn)對(duì)吧。

實(shí)際上,Visual Studio 提供了一個(gè)潛規(guī)則,可以為字符串按照一些特定語(yǔ)言的語(yǔ)法進(jìn)行特殊著色處理,就跟 IDEA 處理 Java 的時(shí)候一樣。但是,Visual Studio 的規(guī)則是這樣的:

你需要在這樣的本地變量(臨時(shí)變量)的上面加上一行注釋:// lang = 語(yǔ)言

舉個(gè)例子。我們?cè)谶@段代碼上加一個(gè) // lang = json 看看:


你就會(huì)發(fā)現(xiàn),Visual Studio 對(duì)這段 JSON 上色了。(雖然有點(diǎn)丑……但是顏色是可以自己在設(shè)置里調(diào)整的,這個(gè)問(wèn)題不大)

你可以看到,在錯(cuò)誤冒號(hào)所在行上,產(chǎn)生了一段警告波浪線。我們將鼠標(biāo)放上去可以發(fā)現(xiàn),Visual Studio 告訴了我們,這段 JSON 是錯(cuò)誤的,因?yàn)槊疤?hào)不合法:

“JSON issue: Property name must be followed by a ':'”,這句話的意思是“JSON 問(wèn)題:屬性名字后面必須跟著一個(gè)‘:’”。注意這個(gè)解釋文字里的冒號(hào)是英語(yǔ)的。

看到了嗎,C# 還有這種操作,神奇不神奇?而且,它對(duì)多種字符串字面量格式都支持。比如最新的原生字符串字面量:

甚至是別的語(yǔ)言,比如正則表達(dá)式(匹配身份證編號(hào)的):

不過(guò),還是有很多不支持的語(yǔ)言的代碼,比如 Markdown 啊、SQL 等等。但是我相信,Visual Studio 已經(jīng)在著手開(kāi)始完成對(duì)這些語(yǔ)法著色進(jìn)行實(shí)現(xiàn)了。相信不久以后,Visual Studio 會(huì)對(duì)這些東西支持得越來(lái)越多、越來(lái)越好。

可能你不知道的沙雕 C# 寫法(3):字符串也是有語(yǔ)義分析的哦的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
深泽县| 濮阳市| 东乡族自治县| 根河市| 芒康县| 谷城县| 肇庆市| 英德市| 德化县| 化德县| 辽阳市| 集贤县| 台中市| 石楼县| 长岛县| 田林县| 常宁市| 南宁市| 蒲城县| 闻喜县| 科技| 拉孜县| 齐河县| 峡江县| 贺州市| 新野县| 临汾市| 从江县| 临沂市| 综艺| 巫溪县| 磴口县| 静安区| 新巴尔虎左旗| 镇赉县| 景泰县| 安阳市| 宁河县| 蓝山县| 酉阳| 广德县|