2017-10-10 5 views
1
string CPP_NAME_SPACE = "test" 
System.Console.WriteLine("} // namespace {0}", CPP_NAME_SPACE); // FormatException 

System.Console.WriteLine("} // namespace {0}"); // normal 

System.Console.WriteLine("// namespace {0}", CPP_NAME_SPACE); // normal 

첫 번째 줄은 FormatException을 throw하지만 두 번째 줄은 표시하지 않는 이유는 무엇입니까? 값으로 {0}을 채울하려고하고 시작에서 이스케이프 중괄호 }이 때문에C# 콘솔 WriteLine System.FormatException :

답변

7

첫 번째 줄은 예외가 발생합니다 (이 예외를 피하기 위해 }}을해야한다). 처음에는 }이 불완전한 형식 지정 코드로 처리되므로 처리 할 수 ​​없습니다.

두 번째 줄에는 문자열을 채울 값이 없으므로 인쇄되지 않습니다.

+0

두 번 '확인'을 클릭하십시오. 감사합니다. –