Convertir la valeur de chaîne en chaîne littérale avec séquence d'échappement en C#
En C#, vous pouvez convertir une valeur de chaîne en chaîne littérale avec des séquences d'échappement en utilisant la technique suivante :
Code d'origine :
Console.WriteLine(someString);
Résultat attendu :
<code>\tHello\r\n\tWorld!\r\n</code>
Méthode 1 : utiliser C# StringWriter et CodeDomProvider
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(); } } }
Exemple :
var input = "\tHello\r\n\tWorld!"; Console.WriteLine(input); Console.WriteLine(ToLiteral(input));
Sortie :
<code> Hello World! "\tHello\r\n\tWorld!"</code>
Méthode 2 : utilisez le package Microsoft.CodeAnalysis.CSharp de Roslyn
private static string ToLiteral(string valueTextForCompiler) { return Microsoft.CodeAnalysis.CSharp.SymbolDisplay.FormatLiteral(valueTextForCompiler, false); }
Exemple :
Console.WriteLine(ToLiteral("\tHello\r\n\tWorld!"));
Sortie :
<code>"\tHello\r\n\tWorld!"</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!