2010-11-03 89 views
1

請問這是怎麼發生的字符串拼接? 我真的搞不清發生了什麼,爲什麼那條斜線我有怎樣的雙引號用於字符串拼接問題

SessionStateItemCollection items = new SessionStateItemCollection(); 

items["LastName"] = "Wilson"; 
items["FirstName"] = "Dan"; 

foreach (string s in items.Keys) 
    Response.Write("items[\"" + s + "\"] = " + items[s].ToString() + "<br />"); 

//here i am looking for explanation please elaborate me on this please 
Response.Write("items[\"" + s + "\"] = " + items[s].ToString() + "<br />"); 

回答

1

斜槓是逃避報價。基本上它會把名字寫在括號內的引號中。對於您的示例輸出爲:

items["Wilson"] = Wilson<br /> 

逃逸反斜槓\後直接發生的字符。所以\"被轉移到"。以下"正在停止字符串,並且您正在追加s變量,而該變量又是foreach循環中的當前項目。

這裏是轉義字符一個article

+0

不清楚坐哪個報價是逃脫請詳細說明一下這個 – NoviceToDotNet 2010-11-03 06:15:03

+0

我加了更多描述和鏈接。 – 2010-11-03 06:22:32

1

反斜槓轉義"。這告訴編譯器你只需要一個字面的雙引號,而不是結束字符串文字。

+0

所以當遇到斜線,第一個雙引號會被忽略,是真的嗎? – NoviceToDotNet 2010-11-03 06:13:38

+0

這意味着雙引號只是字符串中的常規字符。 – 2010-11-03 06:14:32

3

只有\"(雙打反斜槓後報價IMMED)被轉義。