商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > C#中处理字符串的三种方式

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

  发布于2026-07-28 阅读(0)

扫一扫,手机访问

1、逐字字符串

在C#中处理字符串变量时,经常会遇到转义序列的问题。反斜杠\是转义符号,比如\t表示制表符,\r\n表示换行。但有些场景下,我们希望字符串原样输出,而不是被解析成控制字符。举个例子,假设要存储一个文件路径:

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

string path = "C:notebooktel";

Console.WriteLine(path);

运行结果却是:

C:
otebook el.txt

显然,这不是我们想要的结果——这是一个完整的路径,理应原封不动地显示出来。解决起来很简单:在C#中,使用逐字字符串时,只需在字符串前面加上@符号即可。

string path = @"C:notebooktel.txt";

Console.WriteLine(path);

重新运行,结果就正常了:

C:notebooktel.txt

2、原始字符串字面值

C# 11引入了一个更强大的特性——原始字符串字面值。它允许你直接输入任何文本,完全不需要考虑转义问题。语法规则是:用三个或更多双引号作为开头和结尾。

string path = """
    C:notebooktel.txt
""";

Console.WriteLine(path);

运行结果:

C:notebooktel.txt

这个特性还有一个很贴心的设计:编译器会检查最后三个(或更多)引号的缩进级别,然后自动删除所有内容中与该缩进匹配的部分。也就是说,你可以把代码排版得整齐美观,而实际输出的字符串会保持正确的缩进。来看一个例子:

string xml = """"   
    
        小明
            
    """";

Console.WriteLine(xml);

运行结果:


    小明
        

注意,如果最后三个引号与左边对齐,那么之前的空格就不会被移除:

string xml = """"
    
        小明
            
"""";
    
        小明
            

3、原始内插字符串字面值

原始字符串字面值还能和字符串内插结合在一起使用,这在实际开发中非常实用。修改前面的代码:

var  person = new { age = 12, name = "小明" };

string xml = $$""""   
    
        {{person.name}}
            
    """";

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#在处理复杂字符串时变得游刃有余,无论是配置文件、JSON还是XML,都可以摆脱繁琐的转义困扰。

本文转载于:https://www.jb51.net/program/3681833ft.htm 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注