kdt*_*kdt 522 c# string escaping literals verbatim-string
在C#中的逐字字符串文字(@"foo")中,反斜杠不被视为转义,因此执行"获取双引号"不起作用.有没有办法在逐字字符串文字中获得双引号?
这可以理解为不起作用:
string foo = @"this \"word\" is escaped";
Run Code Online (Sandbox Code Playgroud)
Myl*_*les 859
使用重复的双引号.
@"this ""word"" is escaped";
Run Code Online (Sandbox Code Playgroud)
输出:
this "word" is escaped
Run Code Online (Sandbox Code Playgroud)
Bra*_*don 114
使用双引号.
string foo = @"this ""word"" is escaped";
Run Code Online (Sandbox Code Playgroud)
j.a*_*van 95
要添加更多信息,您的示例将在没有@符号的情况下工作(它可以防止使用\转义),这样:
string foo = "this \"word\" is escaped!";
Run Code Online (Sandbox Code Playgroud)
它会同时工作,但我更喜欢双引号样式,因为它更容易工作,例如,文件名(字符串中有很多\).
更新:使用 C# 11 预览功能 - 原始字符串文字
string foo1 = """
this "word" is escaped
""";
string foo2 = """this "word" is escaped""";
Run Code Online (Sandbox Code Playgroud)
历史:
GitHub 上有一项针对 C# 语言的提案,旨在更好地支持原始字符串文字。一个有效的答案是鼓励 C# 团队向该语言添加一项新功能(例如三重引号 - 像 Python)。
请参阅https://github.com/dotnet/csharplang/discussions/89#discussioncomment-257343
| 归档时间: |
|
| 查看次数: |
394596 次 |
| 最近记录: |