输出要求:

1588558901501-b71938ac-3652-41bf-91ba-adadc3b80799.png

自定义定义函数

  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!"