수색…


통사론

  • \ '- 작은 따옴표 (0x0027)
  • \ "- 큰 따옴표 (0x0022)
  • \\ - 백 슬래시 (0x005C)
  • \ 0 - null (0x0000)
  • \ a - 경고 (0x0007)
  • \ b - 백 스페이스 (0x0008)
  • \ f - 양식 피드 (0x000C)
  • \ n - 새 줄 (0x000A)
  • \ r - 캐리지 리턴 (0x000D)
  • \ t - 가로 탭 (0x0009)
  • \ v - 세로 탭 (0x000B)
  • \ u0000 - \ uFFFF - 유니 코드 문자
  • \ x0 - \ xFFFF - 유니 코드 문자 (가변 길이 코드)
  • \ U00000000 - \ U0010FFFF - 유니 코드 문자 (서로 게이트 생성 용)

비고

문자열 이스케이프 시퀀스는 컴파일 타임에 해당 문자로 변환됩니다. 역 슬래시를 포함하는 일반적인 문자열은 변형 되지 않습니다 .

예를 들어 아래의 notEscapednotEscaped2 문자열은 개행 문자로 변환되지 않지만 두 개의 다른 문자 ( '\''n' )로 유지됩니다.

string escaped = "\n";
string notEscaped = "\\" + "n";
string notEscaped2 = "\\n";

Console.WriteLine(escaped.Length); // 1
Console.WriteLine(notEscaped.Length); // 2            
Console.WriteLine(notEscaped2.Length); // 2

유니 코드 문자 이스케이프 시퀀스

string sqrt = "\u221A";      // √
string emoji = "\U0001F601"; // 😁
string text = "\u0022Hello World\u0022"; // "Hello World"
string variableWidth = "\x22Hello World\x22"; // "Hello World"

문자 리터럴의 특수 기호 이스케이프

아포스트로피

char apostrophe = '\'';

백 슬래시

char oneBackslash = '\\';

문자열 리터럴의 특수 기호 이스케이프

백 슬래시

// The filename will be c:\myfile.txt in both cases
string filename = "c:\\myfile.txt";
string filename = @"c:\myfile.txt";

두 번째 예제는 백 슬래시를 이스케이프 문자로 처리하지 않는 축 어적 문자열 리터럴을 사용합니다.

인용 부호

string text = "\"Hello World!\", said the quick brown fox.";
string verbatimText = @"""Hello World!"", said the quick brown fox.";

두 변수 모두 동일한 텍스트를 포함합니다.

"안녕하세요!"라고 빠른 갈색 여우가 말했다.

뉴 라인

축 어적 문자열 리터럴은 개행을 포함 할 수 있습니다.

string text = "Hello\r\nWorld!";
string verbatimText = @"Hello
World!";

두 변수 모두 동일한 텍스트를 포함합니다.

알 수없는 이스케이프 시퀀스가 ​​컴파일 타임 오류를 생성 함

다음 예제는 컴파일되지 않습니다.

string s = "\c";
char c = '\c';

대신 컴파일 타임에 Unrecognized escape sequence 오류가 발생합니다.

식별자에서 이스케이프 시퀀스 사용

이스케이프 시퀀스는 stringchar 리터럴로 제한되지 않습니다.

제 3 자 메소드를 재정의해야한다고 가정 해보십시오.

protected abstract IEnumerable<Texte> ObtenirŒuvres();

C # 소스 파일에 사용하는 문자 인코딩에서 문자 Œ 사용할 수 없다고 가정합니다. 운이 좋다면 \u#### 또는 \U######## 형식의 이스케이프를 코드의 식별자 에 사용할 수 있습니다. 따라서 다음을 작성하는 것이 합법적입니다.

protected override IEnumerable<Texte> Obtenir\u0152uvres()
{
    // ...
}

C # 컴파일러는 Œ\u0152 가 동일한 문자 \u0152 됩니다.

(그러나 UTF-8 또는 모든 문자를 처리 할 수있는 유사한 인코딩으로 전환하는 것이 좋습니다.)



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow