문제

나가야 할 인쇄

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"; 
.

뭔가 주위에 따옴표가있는 문자열이 들어 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top