2012-03-13 100 views
7

这可能是一个非常简单的问题,但我似乎无法得到我的头脑,我需要一个字符串,其中包含\"没有它我试过用@,但它不会工作,我认为这样做的唯一方法就是使用\u0022,但除非我能帮到它,否则不想要。如何在字符串中引用“(斜杠双引号)?

所需的字符串 - string s = "\"\""; // Obviously this doesn't work!

期望中的控制台输出 - \"\"

何这是有道理的。

谢谢!

回答

6

尝试

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

你逃避你的反斜线了。

迈克

+0

我试过,但是我的s =“\\\”\\\“” – Yagzii 2014-12-30 20:12:56

1

此字串:

string s = "\\\"\\\""; 
1
Console.WriteLine("\\\"\\\""); 

只要把\需要被打印在每个字符前。

4

我认为你也必须避免反斜杠...所以像"\\\"\\\""应该工作,我相信。

4

在逐字字符串(@"...")在字符串值"被编码为"",其恰好也是在逐字字符串转义序列。

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

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

注意的是,在第二种情况(而不是逐字字符串),一个\\"之前逃离他们,防止他们正常的含义需要。

查看C# string reference了解更多详情和示例。

+0

我不知道这个字面意思,谢谢! – 2012-03-13 16:41:20

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

DblQuote字符将难逃第二dblquote字符

虽然为提高可读性,我会去:

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

String s = BACKSLASH + DOUBLEQUITE + BACKSLASH + DOUBLEQUOTE; 
1

在逐字字符串(字符串开始@"")逃脱双引号你使用双引号,例如@"Please press ""Ok""."。如果你想用逐字字符串来做,那么你可以做一些类似@"\"""(这是3末尾的双引号)。

5

你可以使用文字,但你需要双引号。

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

你可以这样做,

string s = "something'\\\'"; 

使用单'而不是“”字符串做同样的。