Maison > développement back-end > C++ > Comment échapper aux littéraux de chaîne en C# ?

Comment échapper aux littéraux de chaîne en C# ?

Patricia Arquette
Libérer: 2025-01-28 01:01:08
original
848 Les gens l'ont consulté

How to Escape String Literals in C#?

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);
Copier après la connexion

Résultat attendu :

<code>\tHello\r\n\tWorld!\r\n</code>
Copier après la connexion

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();
        }
    }
}
Copier après la connexion

Exemple :

var input = "\tHello\r\n\tWorld!";
Console.WriteLine(input);
Console.WriteLine(ToLiteral(input));
Copier après la connexion

Sortie :

<code>    Hello
    World!
"\tHello\r\n\tWorld!"</code>
Copier après la connexion

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);
}
Copier après la connexion

Exemple :

Console.WriteLine(ToLiteral("\tHello\r\n\tWorld!"));
Copier après la connexion

Sortie :

<code>"\tHello\r\n\tWorld!"</code>
Copier après la connexion

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal