Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk melarikan diri dari literasi rentetan di C#?

Bagaimana untuk melarikan diri dari literasi rentetan di C#?

Patricia Arquette
Lepaskan: 2025-01-28 01:01:08
asal
848 orang telah melayarinya

How to Escape String Literals in C#?

Tukar nilai rentetan kepada literal rentetan dengan urutan melarikan diri dalam C#

Dalam C#, anda boleh menukar nilai rentetan kepada literal rentetan dengan urutan melarikan diri menggunakan teknik berikut:

Kod asal:

Console.WriteLine(someString);
Salin selepas log masuk

Keluaran yang dijangkakan:

<code>\tHello\r\n\tWorld!\r\n</code>
Salin selepas log masuk

Kaedah 1: Gunakan C# StringWriter dan 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();
        }
    }
}
Salin selepas log masuk

Contoh:

var input = "\tHello\r\n\tWorld!";
Console.WriteLine(input);
Console.WriteLine(ToLiteral(input));
Salin selepas log masuk

Output:

<code>    Hello
    World!
"\tHello\r\n\tWorld!"</code>
Salin selepas log masuk

Kaedah 2: Gunakan pakej Microsoft.CodeAnalysis.CSharp Roslyn

private static string ToLiteral(string valueTextForCompiler)
{
    return Microsoft.CodeAnalysis.CSharp.SymbolDisplay.FormatLiteral(valueTextForCompiler, false);
}
Salin selepas log masuk

Contoh:

Console.WriteLine(ToLiteral("\tHello\r\n\tWorld!"));
Salin selepas log masuk

Output:

<code>"\tHello\r\n\tWorld!"</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk melarikan diri dari literasi rentetan di C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan