C# 将C#字符串值转换为转义字符串文本 - 图1

    1. using System.IO;
    2. using System.CodeDom;
    3. using System.CodeDom.Compiler;
    4. //将C#字符串值转换为转义的字符串文字
    5. public static string ToLiteral(string input)
    6. {
    7. using (var writer = new StringWriter())
    8. {
    9. using (var provider = CodeDomProvider.CreateProvider("CSharp"))
    10. {
    11. provider.GenerateCodeFromExpression(new CodePrimitiveExpression(input), writer, new CodeGeneratorOptions { IndentString = "\t" });
    12. return writer.ToString().Replace(string.Format("\" +{0}\t\"", Environment.NewLine), "");
    13. }
    14. }
    15. }
    1. var input = "\tHello\r\n\tWorld!";
    2. Console.WriteLine(input);
    3. Console.WriteLine(ToLiteral(input));
    1. Hello
    2. World!
    3. "\tHello\r\n\tWorld!"