Maison >développement back-end >C++ >Comment puis-je convertir une chaîne C # en un littéral de chaîne échappé?
C #, la chaîne convertit la chaîne en une chaîne rotative dans le mot
En C #, comment convertir la valeur de chaîne en un caractère de chaîne avec une séquence rotative, comme le symbole et les symboles de changement?
En supposant que nous avons le code suivant:
Le résultat de la sortie est:
<code class="language-c#">Console.WriteLine(someString);</code>
Nous voulons créer une méthode
<code>Hello World!</code>, cette méthode accepte un paramètre de chaîne et générer la sortie suivante:
ToLiteral
<code>\tHello\r\n\tWorld!\r\n</code>
Méthode 1: Utilisez CodeDOMProvider
Dans le passé, la solution impliquait l'utilisation de dans l'espace de nom , comme indiqué dans le code suivant:
System.CodeDom.Compiler
Méthode 2: Utilisez le sac Microsoft.codeanalysis.csharp de Roslyn
CodeDomProvider
Récemment, Graham High a constaté que nous pouvons utiliser le package Microsoft.codeanalysis de Roslyn.
<code class="language-c#">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(); } } }</code>Cette méthode utilise directement les fonctions fournies par la bibliothèque Roslyn, qui est plus concise et efficace.
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!