如何将字符串或字符转换为'转义表示'?

时间:2015-08-06 08:01:31

标签: c#

鉴于此示例代码:

var s = "abc\r\ndef";
foreach (var c in s)
{
    Console.WriteLine($"Current char: {c}");
}

当然,'\r''\n'字符分别写为空格和实际换行符。我想要实现的是改为编写'\r''\n'

将角色转换为(C#)'转义表示'的最简单方法是什么?我应该看看Roslyn,还是有简单的转换功能?

1 个答案:

答案 0 :(得分:0)

这应该回答你的问题,你可以在这里看到: Can I convert a C# string value to an escaped string literal

private static string ToLiteral(string input)
{
    using (var writer = new StringWriter())
    {
        using (var provider = CodeDomProvider.CreateProvider("CSharp"))
        {
            provider.GenerateCodeFromExpression(new CodePrimitiveExpression(input), writer, null);
            return writer.ToString();
        }
    }
}