2010-06-18 55 views
3

我問這樣一個問題我覺得很愚蠢。我如何避免雙引號?逃離C#,有點迷惘

我試過谷歌和它說,使用\」,但它似乎並不管用。

string html = @"<a href=\"http://google.com\">Test</a>"; 

它返回

';' expected 

我在做什麼錯?

+0

固定。這是@ – 2010-06-18 08:33:32

回答

12

其中之一:

string html = "<a href=\"http://google.com\">Test</a>"; 
string html = @"<a href=""http://google.com"">Test</a>"; 

這兩種形式之間的逃逸有所不同。第二個以「@」作爲前綴,被稱爲逐字字符串文字,允許換行符等,並且不會將反斜線視爲特殊的轉義字符。它因此處理除了雙引號之外的所有內容,而不需要轉義 - 雙引號通過加倍而被轉義,因此它不被解釋爲字符串文字的結尾。

+0

爲什麼需要在帶有@的版本中使用額外的引號?是因爲@用於heredoc嗎? – 2010-06-18 08:34:17

+0

編輯答案澄清這一點詹姆斯。 – 2010-06-18 08:35:49

+0

謝謝大衛。完美的例子和解釋。我會接受答案.. – 2010-06-18 08:37:54