在我们日常开发中,偶尔会遇到需要转义字符的情况,如Json文本等等等等
这时我们即可使用到C#11出的新增功能 :原始字符串文本 “””
我们先来看一下官方的解释:
原始字符串字面量是字符串字面量的一种新格式。
原始字符串字面量可以包含任意文本,包括空格、新行、嵌入引号和其他特殊字符,无需转义序列。 原始字符串字面量以至少三个双引号 (“””) 字符开头。
它以相同数量的双引号字符结尾。 通常,原始字符串字面量在单个行上使用三个双引号来开始字符串,在另一行上用三个双引号来结束字符串。
左引号之后、右引号之前的换行符不包括在最终内容中。
再通俗易懂一点就是:只要用”””就可以不用添加任何转义字符,我们来试试。
C#
string bytes1 = "!@#$%^&*()_+=-[]{};':\"\\\\|,.<>/?`~1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ¥€£¢¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ";
string bytes2 = """!@#$%^&*()_+=-[]{};':"\\|,.<>/?`~1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ¥€£¢¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ""";
Console.WriteLine(bytes1);
//空出两行
Console.WriteLine(Environment.NewLine + Environment.NewLine);
Thread.Sleep(3000);
Console.WriteLine(bytes2);
好的我们来看一下结果:
![](https://ichistudio.cn/wp-content/uploads/2024/03/图片-9-1024x535.png)
虽然结果是一致的:但是这是在代码中使用了转义字符的原因,如果不使用则会导致报错无法识别当前字符串