C# 我可以在逐字字符串文本中转义双引号吗?
在C#中的逐字字符串文字(@“foo”)中,反斜杠不被视为转义符,因此使用\“获取双引号是行不通的。有没有办法获取逐字字符串文字中的双引号 不难理解,这是行不通的:C# 我可以在逐字字符串文本中转义双引号吗?,c#,string,escaping,literals,verbatim-string,C#,String,Escaping,Literals,Verbatim String,在C#中的逐字字符串文字(@“foo”)中,反斜杠不被视为转义符,因此使用\“获取双引号是行不通的。有没有办法获取逐字字符串文字中的双引号 不难理解,这是行不通的: string foo = @"this \"word\" is escaped"; 使用重复的双引号 @"this ""word"" is escaped"; 产出: 此“单词”已转义 使用双引号 string foo = @"this ""word"" is escaped"; 这将有助于澄清您可能遇到的任何问题: 以下是链
string foo = @"this \"word\" is escaped";
使用重复的双引号
@"this ""word"" is escaped";
产出:
此“单词”已转义
使用双引号
string foo = @"this ""word"" is escaped";
这将有助于澄清您可能遇到的任何问题: 以下是链接内容中的表格: 正规文字 逐字逐句 结果字符串
“你好”
@“你好”
Hello
“反斜杠:\\”
@“反斜杠:\”
反斜杠:\
“报价:\”
@“引号:”
Quote:“
“CRLF:\r\nPost CRLF”
@“CRLF:
发布CRLF”
CRLF:
发布CRLF
为了添加更多信息,您的示例将在不使用
@
符号的情况下工作(它防止使用\进行转义),如下所示:
string foo = "this \"word\" is escaped!";
它可以双向工作,但我更喜欢双引号样式,因为它更容易工作,例如,使用文件名(字符串中有大量\)。GitHub中有一个关于更好地支持原始字符串文字的建议。一个有效的答案是鼓励C团队为该语言添加新功能(例如类似Python的三重引号) 如图所示,请参见: 简单的转义序列…按字面解释。只有引号转义序列(
“”
)不按字面解释;它会产生一个双引号。此外,如果是逐字插入的字符串大括号转义序列({{
和}
)不按字面解释;它们产生单括号字符
我正在尝试使用@Html.Raw(),四个引号打断了我的字符串。您可以在不使用字符串文字的情况下使用它吗?似乎Html.Raw()会为您确保它是一个字符串……还可以将它与字符串插值结合使用:
$@“this”“{wordVar}”被转义”
。