C#에서 이스케이프 시퀀스를 사용하여 문자열 값을 문자열 리터럴로 변환
C#에서는 다음 기술을 사용하여 이스케이프 시퀀스를 사용하여 문자열 값을 문자열 리터럴로 변환할 수 있습니다.
원본 코드:
<code class="language-csharp">Console.WriteLine(someString);</code>
예상 출력:
<code>\tHello\r\n\tWorld!\r\n</code>
방법 1: C# StringWriter 및 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>
예:
<code class="language-csharp">var input = "\tHello\r\n\tWorld!"; Console.WriteLine(input); Console.WriteLine(ToLiteral(input));</code>
출력:
<code> Hello World! "\tHello\r\n\tWorld!"</code>
방법 2: Roslyn의 Microsoft.CodeAnalytic.CSharp 패키지 사용
<code class="language-csharp">private static string ToLiteral(string valueTextForCompiler) { return Microsoft.CodeAnalysis.CSharp.SymbolDisplay.FormatLiteral(valueTextForCompiler, false); }</code>
예:
<code class="language-csharp">Console.WriteLine(ToLiteral("\tHello\r\n\tWorld!"));</code>
출력:
<code>"\tHello\r\n\tWorld!"</code>
위 내용은 C#에서 문자열 리터럴을 탈출하는 방법?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!