最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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ó)家法律
南和县| 类乌齐县| 东安县| 房产| 综艺| 云霄县| 博客| 卢氏县| 罗定市| 绥江县| 昭通市| 贵溪市| 泾阳县| 富川| 云安县| 阳原县| 滁州市| 山阴县| 慈溪市| 通江县| 江陵县| 禹州市| 尖扎县| 洪湖市| 油尖旺区| 濮阳市| 洪洞县| 财经| 长葛市| 高阳县| 秦安县| 晴隆县| 武山县| 澄城县| 贺兰县| 页游| 合川市| 改则县| 阿尔山市| 香河县| 河曲县|