2013-10-24 59 views
3

是否有像Python的repr()這樣的C#方法來獲得對象的真實表示?假設我們有:C#等價的Python repr()

string identifier = "22\n44"; 
Console.WriteLine(identifier); 

這將返回

22 
44

有沒有辦法讓

"22\n44" 

在Python這很容易。我們可以做repr("22\n44")

我想這個問題,因爲我嘗試使用

var identifier = "2244"; 
identifier = identifier.Replace("\"", "'"); 
Console.WriteLine(identifier); 

輸出到"2244"轉換爲'2244'只是2244,因爲雙引號是我們的宗旨。但對我來說,我這樣做是爲了得到我想要的東西:

identifier = string.Format("'{0}'", identifier); 

,因爲最初的數據庫接收查詢作爲IN ("2244")代替IN ('2244')和被扔無效號碼錯誤。

+4

不要這樣做數據庫輸入,你打開[SQL注入](http://xkcd.com/327/)的大門。 –

+0

爲什麼downvote?這是一個有效的問題。 –

+2

使用'repr()'來爲數據庫插入的'escape'值在Python中與在C#中一樣錯誤。 –

回答

0
 string identifier = "22\n44"; 
     Console.WriteLine("\"{0}\"", identifier.Replace("\n", @"\n"));