2012-03-13 74 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'\\\'"; 

使用單'而不是「」字符串做同樣的。

相關問題