如何在字符串字面值中引用“\”(反斜杠双引号)?

9
这可能是一个非常简单的问题,但我似乎无法掌握它。我需要一个包含\"而不将其视为转义字符的字符串。我尝试使用@,但它不起作用。我想到的另一种方法是使用\u0022,但除非我必须这样做,否则我不想使用它。
期望的字符串 - string s = "\"\""; // 显然这不起作用! 期望的控制台输出 - \"\" 希望这讲得清楚。
谢谢!
9个回答

9

尝试

string s = "\\\"\\\"";

你也需要转义反斜杠。

Mike


7

您可以使用文字直接量,但需要将引号加倍。

   string s = @"\""\"""; 

5
在逐字字符串字面量(@"...")中,字符串值中的"被编码为"",这也恰好是逐字字符串中唯一的转义序列。
@"\""Happy coding!\"""     // => \"Happy coding!\"

"\\\"Happy coding!\\\""    // => \"Happy coding!\"

请注意,在第二种情况下(非逐字字符串文字),需要在\"前加上\来转义它们并防止其正常含义。
有关更多细节和示例,请参阅C#字符串参考

4
我认为你也需要转义反斜杠...所以类似"\\\"\\\""应该可以使用,我相信。

1
请使用此字符串:
string s = "\\\"\\\"";

1
Console.WriteLine( "\\\"\\\"" );

只需在需要打印的每个字符前面加上 \

1
String s = @"\""\""";

DblQuote字符将转义第二个双引号字符

虽然为了更好的可读性,我会选择:

const String DOUBLEQUOTE = """";
const String BACKSLASH = @"\";

String s = BACKSLASH + DOUBLEQUITE + BACKSLASH + DOUBLEQUOTE;

1
在一个原样字符串(以@""开头的字符串)中,要转义双引号,您需要使用双引号,例如@"请按 ""确定""。"。如果您想使用原样字符串来实现它,那么您可以像这样做:@"\"""(末尾有3个双引号)。

0
你可以这样做,
string s = "something'\\\'";

在字符串中,使用单引号''而不是双引号""可以实现相同的效果。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接