鉴于此示例代码:
var s = "abc\r\ndef";
foreach (var c in s)
{
Console.WriteLine($"Current char: {c}");
}
当然,'\r'
和'\n'
字符分别写为空格和实际换行符。我想要实现的是改为编写'\r'
,'\n'
。
将角色转换为(C#)'转义表示'的最简单方法是什么?我应该看看Roslyn,还是有简单的转换功能?
答案 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();
}
}
}