C#相当于javascript的toSource()
本文关键字:toSource 相当于 javascript | 更新日期: 2023-09-27 18:10:16
可能重复:
我可以将C#字符串值转换为转义字符串文字吗
如何在"纯模式"中显示字符串的内容,包括'r
、'n
、't
等。。相当于javascript 的.toSource()
方法
例如:
JavaScript:
var str = "foo'nbaa'ttest";
console.log(str.toSource());
输出:
(new String("foo'nbaa'ttest"))
在C#中可以做到这一点吗?提前感谢!
请参阅Can I convert a C#string value to a escaped string literal的答案。他写了这个扩展方法,它正是你想要的:
static string ToLiteral(string input)
{
var writer = new StringWriter();
CSharpCodeProvider provider = new CSharpCodeProvider();
provider.GenerateCodeFromExpression(new CodePrimitiveExpression(input), writer, null);
return writer.GetStringBuilder().ToString();
}
Regex.Escape("foo'nbaa'ttest")
考虑一下一般问题-重建一些源代码-C#上没有任何语言选项可以让你自动完成。
然而(这是我的理论(,您应该能够使用表达式来获得IL等价物(可能使用Reflection.Emit或Mono.Cecil库(。我怀疑你可以使用ILSpy项目中的库来重建C#。