Maison >développement back-end >C++ >Comment puis-je convertir une chaîne C # en un littéral de chaîne échappé?

Comment puis-je convertir une chaîne C # en un littéral de chaîne échappé?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-28 00:42:08813parcourir

How Can I Convert a C# String to an Escaped String Literal?

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

Solution:
<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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn