在 C# 中,字符串字面量用雙引號括起來表示。 這些字面量中可以使用轉義序列(例如,t 表示製表符,n 表示換行符)來表示特殊字符。
將普通字符串轉換為其轉義的字符串字面量表示形式,您可以考慮以下方法:
利用代碼生成技術,您可以使用 CodeDomProvider 生成所需的字符串字面量:
<code class="language-csharp">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>
此方法遵循以下步驟創建字面量字符串表示形式:
一種更新的方法是使用 Roslyn 的 Microsoft.CodeAnalysis.CSharp NuGet 包:
<code class="language-csharp">private static string ToLiteral(string valueTextForCompiler) { return Microsoft.CodeAnalysis.CSharp.SymbolDisplay.FormatLiteral(valueTextForCompiler, false); }</code>
此方法通過使用 Roslyn 的 SymbolDisplay 來生成轉義的字符串字面量表示形式,簡化了流程。
以上是如何逃避C#字符串文字的字符串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!