原始字符串字面量在.Net7已经出现,在字符串的引用赋值是非常实用的。
那么我们看看它的写法有哪些。
原始字符串字面量以至少三个双引号 (") 字符开始和结束,开始双引号和结束双引号必须位于同一行,或者各自一行
写法一:
开始双引号和结束双引号位于同一行
var msg= """I said "Hello levi"! """; //I said "Hello levi"!
写法二:
开始双引号和结束双引号位于各自一行
写法二有4个规则要遵守,为更直观,规则分别注释在代码中
var json = """ //1.左引号和右引号字符必须位于各自的行中。2.忽略同一行中左引号后面的空格。
//3.字符串字面量中仅包含左引号后面的空格行: 本例中这一行是空格行,那么这一行也包含在内
"Employee": [
{ "Name":"levi" , "Email":"foolishsunday@sina.com" },
{ "Name":"lee" , "Email":"foolishsunday@outlook.com" }
]
""";//4.右引号左侧的任何空格将从原始字符串字面量的所有行中删除。即本例中,字符串到符号]截止
写法三:
如果字符串里含有三个或更多连续双引号字符怎么办呢?
这种情况开始、结束都需要4个双引号
var str = """" 例如,这是含有三个连续双引号的"""字符串""" 。"""";// 例如,这是含有三个连续双引号的"""字符串""" 。
写法四:
配合内插值:内插字符串解析为结果字符串时,带有内插表达式的项会替换为表达式结果的字符串表示形式
var age = $"""
我的年龄是{18}岁
""";
//我的年龄是18岁
或者,多个花括号的情况
var age = $$"""
我的年龄是{{18}}岁
""";
//我的年龄是18岁
总结:
原始字符串字面量在json或xml等字符串形式的引用赋值时,是非常方便的。无需转义符,保持原格式。就是这个功能支持得太晚了,直到.Net7 C#11才出来,低版本不支持,很多老项目无法使用。