C#教程

关注公众号 jb51net

关闭
首页 > 软件编程 > C#教程 > C#处理字符串方式

C#中处理字符串的三种方式

作者:jiay2

还在为C#字符串中的转义字符烦恼吗,本文详细讲解逐字字符串和C#11的原始字符串字面值,教你如何原样输出路径、JSON等内容,并轻松混合内插字符串,让你的代码更简洁高效,需要的朋友可以参考下

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#处理字符串方式内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文