Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Melarikan Diri Strings untuk C# String Literals?

Bagaimana untuk Melarikan Diri Strings untuk C# String Literals?

Mary-Kate Olsen
Lepaskan: 2025-01-28 00:51:09
asal
270 orang telah melayarinya

Panduan Melarikan Diri Rentetan C#

How to Escape Strings for C# String Literals?

Dalam C#, literal rentetan diwakili oleh petikan berganda. Urutan melarikan diri (contohnya, t untuk tab, n untuk baris baharu) boleh digunakan dalam literal ini untuk mewakili aksara khas.

Untuk menukar rentetan biasa kepada perwakilan literal rentetan yang terlepas, anda boleh mempertimbangkan kaedah berikut:

Gunakan penjanaan kod

Menggunakan teknologi penjanaan kod, anda boleh menggunakan CodeDomProvider untuk menjana literal rentetan yang diperlukan:

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

Kaedah ini mencipta perwakilan rentetan literal dengan mengikut langkah berikut:

  • Buat StringWriter untuk menangkap kod yang dijana.
  • Gunakan CodeDomProvider untuk menjana kod daripada ungkapan primitif yang mewakili rentetan input.
  • Ekstrak kod yang dijana daripada StringWriter.

Menggunakan Paparan Simbol Roslyn

Pendekatan yang lebih baharu ialah menggunakan pakej Microsoft.CodeAnalysis.CSharp NuGet Roslyn:

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

Kaedah ini memudahkan proses dengan menggunakan Roslyn's SymbolDisplay untuk menjana perwakilan literal rentetan yang terlepas.

Atas ialah kandungan terperinci Bagaimana untuk Melarikan Diri Strings untuk C# String Literals?. 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