En C#, les chaînes littérales sont représentées par des guillemets doubles. Des séquences d'échappement (par exemple, t pour tabulation, n pour nouvelle ligne) peuvent être utilisées dans ces littéraux pour représenter des caractères spéciaux.
Pour convertir une chaîne normale en sa représentation littérale de chaîne d'échappement, vous pouvez envisager la méthode suivante :
Grâce à la technologie de génération de code, vous pouvez utiliser CodeDomProvider pour générer les littéraux de chaîne requis :
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(); } } }
Cette méthode crée une représentation sous forme de chaîne littérale en suivant ces étapes :
Une approche plus récente consiste à utiliser le package Microsoft.CodeAnalysis.CSharp NuGet de Roslyn :
private static string ToLiteral(string valueTextForCompiler) { return Microsoft.CodeAnalysis.CSharp.SymbolDisplay.FormatLiteral(valueTextForCompiler, false); }
Cette méthode simplifie le processus en utilisant SymbolDisplay de Roslyn pour générer une représentation littérale de chaîne d'échappement.
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!