문자열에서 큰 따옴표를 이스케이프 처리


173

큰 따옴표는 다음과 같이 이스케이프 처리 할 수 ​​있습니다.

string test = @"He said to me, ""Hello World"". How are you?";

그러나 이것은 "문자열에 문자 를 추가하는 것과 관련이 있습니다. 문자열을 변경할 필요가 없도록 큰 따옴표를 이스케이프 처리하는 C # 함수 또는 다른 방법이 있습니까?


5
이렇게 ""Hello World \ "를 사용할 수 있습니다
Pandian

1
결과적으로 무엇을 정말로 원하십니까? 리터럴 문자열에서 ""는 "가됩니다.
Roel

C / C ++에 대한 비슷한 질문 (이것은 최고 검색 엔진 적중 일 수 있기 때문에) : 문자열 리터럴로 큰 따옴표를 얻는 방법은 무엇입니까?
Peter Mortensen

답변:


226

아니.

그대로 그대로 문자열 리터럴을 "사용 하거나 백 슬래시 사용을 피하십시오 .

string test = "He said to me, \"Hello World\" . How are you?";

두 경우 모두 문자열이 변경되지 않았습니다 . 이스케이프 " 된 단일 항목 이 있습니다. 이것은 C #에 문자가 문자열 종결자가 아니라 문자열의 일부임을 알리는 방법입니다.


81

어느 쪽이든 백 슬래시를 사용할 수 있습니다.

string str = "He said to me, \"Hello World\". How are you?";

인쇄합니다.

He said to me, "Hello World". How are you?

이것은 정확히 같은 지문입니다;

string str = @"He said to me, ""Hello World"". How are you?";

여기 DEMO있습니다.

" 여전히 문자열의 일부입니다.

확인 Escape SequencesString literalsMSDN에서.


18

C #에서는 백 슬래시를 사용하여 문자열에 특수 문자를 넣을 수 있습니다. 예를 들어, "를 넣으려면 \"를 작성해야합니다. 백 슬래시를 사용하여 작성하는 많은 문자가 있습니다. 숫자가있는 백 슬래시 :

  • \ 000 null
  • \ 010 백 스페이스
  • \ 011 가로 탭
  • \ 012 줄 바꿈
  • \ 015 캐리지 리턴
  • 대체품 \ 032
  • 큰 따옴표 \ 042
  • 작은 따옴표 \ 047
  • 134 백 슬래시
  • 140 억음 악센트

othe 문자가있는 백 슬래시

  • \ a 벨 (경고)
  • \ b 백 스페이스
  • \ f 용지 공급
  • \ n 줄 바꿈
  • \ r 캐리지 리턴
  • \ t 가로 탭
  • \ v 세로 탭
  • 작은 따옴표
  • 큰 따옴표
  • 백 슬래시
  • \? 리터럴 물음표
  • 8 진수로 된 ooo ASCII 문자
  • 16 진수 표기법의 \ x hh ASCII 문자
  • \ x hhhh이 이스케이프 시퀀스가 ​​와이드 문자 상수 또는 유니 코드 문자열 리터럴에 사용되는 경우 16 진 표기법의 유니 코드 문자입니다. 예를 들어, WCHAR f = L '\ x4e00'또는 WCHAR b [] = L "한자의 한자는 \ x4e00"입니다.

6

당신은 탈출을 오해하고 있습니다.

추가 "문자는 문자열 리터럴의 일부입니다. 그것들은 컴파일러에 의해 단일 로 해석됩니다 ".

He said to me , "Hello World".How are you ?런타임에 인쇄하면 문자열의 실제 값은 여전히 입니다.


4

문제를 설명하십시오. 당신은 말한다 :

그러나 여기에는 문자열에 "문자를 추가하는 것이 포함됩니다.

그게 무슨 문제 야? string foo = "Foo"bar"";컴파일 오류가 발생하기 때문에을 입력 할 수 없습니다 . 에 관해서는 추가 사실이 아니다 문자열 크기 측면에서 부분 :

@"""".Length == "\"".Length == 1
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.