C#与Python repr()等价

C#与Python repr()等价,c#,python,C#,Python,有没有像Python的repr()这样的C#方法来获得对象的真实表示?假设我们有: string identifier = "22\n44"; Console.WriteLine(identifier); 这会回来的 22 44 在Python中,这很简单。我们可以只做repr(“22\n44”) 我想到这个问题是因为我试图使用 var identifier = "2244"; identifier = identifier.Replace("\"", "'"); Console.WriteL

有没有像Python的repr()这样的C#方法来获得对象的真实表示?假设我们有:

string identifier = "22\n44";
Console.WriteLine(identifier);
这会回来的

22 44 在Python中,这很简单。我们可以只做
repr(“22\n44”)

我想到这个问题是因为我试图使用

var identifier = "2244";
identifier = identifier.Replace("\"", "'");
Console.WriteLine(identifier);
输出为2244,因为双引号用于我们的目的。但就我而言,我这样做是为了得到我想要的:

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

因为最初数据库在('2244')中以
的形式接收查询,而不是('2244')
中的
接收查询,并且抛出了无效的数字错误。

不要这样做DB输入,这是开着的门。为什么要否决?这是一个有效的问题。使用
repr()
来“转义”数据库插入值在Python中和在C#中一样错误。@MartijnPieters我想他在寻找的是如何在C#中创建原始字符串。我对C#的了解非常糟糕,所以我可能错了。而且,他确实显示了预期的输出。@GamesBrainiac:当然,但这仍然是一个XY问题。OP正在解决的实际问题是如何从变量输入生成(…)
SQL查询中的
        string identifier = "22\n44";
        Console.WriteLine("\"{0}\"", identifier.Replace("\n", @"\n"));
        string identifier = "22\n44";
        Console.WriteLine("\"{0}\"", identifier.Replace("\n", @"\n"));