퍼팅\"에서 문자열을 그대로 C#[중복]
-
13-11-2019 - |
문제
나가야 할 인쇄
a
"b"
c
로 vebatim 문자열,내가 제기하는 또 다른 문제에 대해 여러 줄의 코드 템플릿 기.
나와 함께 문자열을 그대로 다음과 같다:
using System;
class DoFile {
static void Main(string[] args) {
string templateString = @"
{0}
\\"{1}\\"
{2}
";
Console.WriteLine(templateString, "a", "b", "c");
}
}
하지만,저는 이 오류가 있습니다.
t.cs(8,11): error CS1525: Unexpected symbol `{'
t.cs(9,0): error CS1010: Newline in constant
t.cs(10,0): error CS1010: Newline in constant
\"{1}\"
이 작동하지 않지 않습니다.
무엇이 잘못입니까?
해결책
"탈출하는 대신"대신 ""이
string templateString = @"
{0}
""{1}""
{2}
";
.
C # Specification : http://msdn.microsoft.com/en-us/라이브러리 / AA691090
견적 이스케이프 시퀀스 : "" "
다른 팁
verbatim string 리터럴에서 ""
를 사용하여 두 번 인용 문자를 사용합니다.
string line = @"
{0}
""{1}""
{2}";
. 할 때 사용하여 여러 줄의 문자열에서 리터럴 C# @"
, 올바른 탈출 시퀀스에 대한 두 번가 견적 ""
대 \"
.
string templateString = @"
{0}
""{1}""
{2}
";
에서 문자열을 그대로,사용 ""
대 "
에서 결과입니다.
@"
문자열에서 내장 된 큰 따옴표는 ""
가 아닌 \"
로 이스케이프됩니다.코드를 로 변경하십시오
string templateString = @"
{0}
""{1}""
{2}
";
.
및 문제가 사라질 것입니다.
string templateString = @"
{0}
""{1}""
{2}
";
.
편집 : Verbatim을 사용할 때 올바른 구문을 표시하도록 업데이트되었습니다.
"Double Double"인용문을 사용하여 출력에서 단일 이중 따옴표를 생성합니다.오래된 VB6이 문자열을 처리하는 것과 같은 방법입니다.
@" ""something"" is here";
.
뭔가 주위에 따옴표가있는 문자열이 들어 있습니다.
제휴하지 않습니다 StackOverflow