2013-04-03 39 views
-1

我想更換該字符串添加斜線串

'10001' 

\'10001\' 

下面的代碼不工作:

Console.WriteLine(content); 
content.Replace("'", "\\'"); 
Console.WriteLine(content); 

,甚至這樣的:

Console.WriteLine(content); 
content.Replace("'", "\\\\'"); 
Console.WriteLine(content); 

價值content正是之前和之後replace相同,即'10001'

我使用VC#2010速成。感謝幫助。

+0

替換不更改內容對象。它會返回新值。字符串在C中是不可變的# – wiero

回答

6

你必須寫:

content = content.Replace("'", "\\'"); 

string是不可變的類型,這意味着它不能被修改。相反,像ReplaceInsert等方法總是返回一個新的字符串實例。 See here獲取更多信息。如果您使用的是ReSharper(或者類似的工具),當您撥打string.Replace()而不分配/使用方法的返回值時,它會發出警告。

+0

對不起,愚蠢的錯誤 – AkariKamigishi

+1

@Akari:沒問題!事實上,我也曾犯過同樣的錯誤。 – M4N

0

試試這個。

content = content.Replace("'", "\\\\'");

0
content = content.Replace("'", "\\'") 
0

你想輸出JSON字符串?看起來你正在試圖做到這一點。如果是這種情況,你可以json序列化器將正常字符串序列化爲json字符串,就像你要求的那樣。

+0

nope,我正在處理sql語句 – AkariKamigishi