1、逐字字符串
在字符串变量存储文本时,可以包括转义序列,转义序列用反斜杠“\”表示,如制表符“\t”和换行符'\r''\n':
string path = "c:\notebook\tel"; console.writeline(path);
运行结果:
c: otebook el.txt
很明显这不是我们想要的结果,这是一个完整路径,应该原样显示!
很简单,在c#中,使用逐字字符串时,在前面加一个"@"符就好了。
string path = @"c:\notebook\tel.txt"; console.writeline(path);
重新运行结果:
c:\notebook\tel.txt
2、原始字符串字面值
c# 11中引入了原始字符串字面值的特性,该特性可方便地输入任何文本而不必转义内容。
原始字符串字面值应该以三个或三个以上的双引号开始和结束
string path = """
c:\notebook\tel.txt
""";
console.writeline(path);运行结果:
c:\notebook\tel.txt
编译器会检查原始字符串字面值的最后三个(或多个)引号缩进级别,然后自动删除所有内容中该级别的缩进
string xml = """"
<person age="10">
<name>小明</name>
</person>
"""";
console.writeline(xml);运行结果:
<person age="10">
<name>小明</name>
</person>如果最后三个引号与左边对其,那么空格将不会被移除:
string xml = """"
<person age="10">
<name>小明</name>
</person>
""""; <person age="10">
<name>小明</name>
</person>3、原始内插字符串字面值
修改前面的代码:
var person = new { age = 12, name = "小明" };
string xml = $$""""
<person age="{{person.age}}">
<name>{{person.name}}</name>
</person>
"""";
console.writeline(xml);通过在内插字面值的开头添加对应数量的"$"符,可将使用花括号"{}"的内插字符串与原始字符串字面值混合使用.
int age=10;
string name = "小明";
string json=$$"""
{
"name":{{name}},
"age":{{age}}
}
""";
console.writeline(json);变量json运行结果:
{
"name":小明,
"age":10
}"$"符的数量决定告诉编译器应该使用多少个花括号才能将对应内容识别为插值表达式。
string json=$$$"""
{
"name":{{name}},
"age":{{age}}
}
""";
console.writeline(json);这里只能跑出如下结果:
{
"name":{{name}},
"age":{{age}}
}到此这篇关于c#中处理字符串的三种方式的文章就介绍到这了,更多相关c#处理字符串方式内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论