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:
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(); } } }
Kaedah ini mencipta perwakilan rentetan literal dengan mengikut langkah berikut:
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); }
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!