在 C# 中,我可以像在代码中看到的那样将字符串值转换为字符串文字吗?我想用它们的转义序列替换制表符、换行符等。
如果此代码:
Console.WriteLine(someString);
产生:
Hello World!
我想要这个代码:
Console.WriteLine(ToLiteral(someString));
生产:
\tHello\r\n\tWorld!\r\n
在Roslyn的NuGet 上的Microsoft.CodeAnalysis.CSharp包中有一种方法:
private static string ToLiteral(string valueTextForCompiler) { return Microsoft.CodeAnalysis.CSharp.SymbolDisplay.FormatLiteral(valueTextForCompiler, false); }
显然,在最初的问题出现时这并不存在,但它可能会帮助那些最终从谷歌搜索到这里的人。