爲什麼您必須添加2個額外的引號集才能在逐字字符串中轉義一組引號?關於在逐字字符串內轉義引號的語法的問題
string s = @"""Hi"""; //Note: three quotes on either side
前述代碼產生以下字符串: 「您好」
爲什麼您必須添加2個額外的引號集才能在逐字字符串中轉義一組引號?關於在逐字字符串內轉義引號的語法的問題
string s = @"""Hi"""; //Note: three quotes on either side
前述代碼產生以下字符串: 「您好」
確定想象字符流。
突然發現一個報價。這是一個字符串文字的開始。 我們繼續閱讀,直到我們發現另一個報價。 現在可能發生兩件事情。我們要麼找到第二個報價,這意味着我們記下一個報價並繼續閱讀。或者我們找到另一個字符,這意味着該字符串結束,
這可以在一個簡單的狀態圖顯示:
+--------+ --- " ---> +-------+
--- " ---> | String | | Quote | --- any ---> end of string
+--------+ <--- " --- +-------+
| ^
| |
\- any -/
因爲報價逃脫本身。
@符號當然意味着它是一個未轉義的字符串文字。但是,「未轉義」並不完全適用,因爲您仍然需要某種方式來表示非轉義字符串中的雙引號。要做到這一點,您只需輸入兩個雙引號。否則將終止字符串 - 如果你願意,你必須以某種方式逃避它的字符串內報價
string s = "\"H\"";
:您的字符串也可以寫成這樣。
MS決定使用2個引號字符序列逐字字符串中的引號字符。就那麼簡單。
我明白你的意思,但你可能想重新單詞,所以單引號並不意味着'代替單雙qoute。 – 2009-01-27 21:32:29