小编典典

我可以将 C# 字符串值转换为转义字符串文字吗?

all

在 C# 中,我可以像在代码中看到的那样将字符串值转换为字符串文字吗?我想用它们的转义序列替换制表符、换行符等。

如果此代码:

Console.WriteLine(someString);

产生:

Hello
World!

我想要这个代码:

Console.WriteLine(ToLiteral(someString));

生产:

\tHello\r\n\tWorld!\r\n

阅读 74

收藏
2022-06-20

共1个答案

小编典典

在Roslyn的NuGet
上的Microsoft.CodeAnalysis.CSharp包中有一种方法:

private static string ToLiteral(string valueTextForCompiler)
{
    return Microsoft.CodeAnalysis.CSharp.SymbolDisplay.FormatLiteral(valueTextForCompiler, false);
}

显然,在最初的问题出现时这并不存在,但它可能会帮助那些最终从谷歌搜索到这里的人。

2022-06-20