문자열에 따옴표를 포함하는 방법


답변:


165

백 슬래시로 이스케이프하십시오.

"I want to learn \"C#\""

참조 설명서가 유용합니다. msdn.microsoft.com/en-us/library/ms228362.aspx
S.Lott

2
문자열을 형식화 할 때 여러 "" "를 사용할 수 없습니다. String.Format ("<E> <A KH=\"{0}\" ID=\"{1}\"/> <C> <T ID = \ " {2} \ "SID = \"{3} \ "> <LP = \"{4} \ "N = \"{5} \ "/> </ T> </ C> </ E>", params)는 여러 따옴표로 작동하지 않습니다. 정확하게 표시된이 답변을 사용하고 습관에 익숙해 지십시오.
New Bee

@ANeves는 @newbee가 틀렸고 작동하는 반례가 있다고 말할 수 있습니다. string ok = string.Format(@"""{0}"" = {1}", "yes", true);그러나 사람들의 시간을 낭비하는 어리석은 무관 한 사진에 연결하지 마십시오. 이것은 기술 사이트입니다
barlop

82

백 슬래시로 따옴표를 이스케이프 하는 것 외에도 @ 접두사가 붙은 문자열에서 큰 따옴표를 사용하는 방법을 설명하는 SO 질문 2911073 을 참조하십시오 .

string msg = @"I want to learn ""c#""";

내 대체 논리에 이것이 필요했습니다. string nullHideDecimal = @ "<HideDecimal i : nil =" "true" "/>"; 다음 dataContractXML = dataContractXML.Replace (nullHideDecimal, "<HideDecimal> 0 </ HideDecimal>");
Ziggler

20

나는 사용한다:

var value = "'Field1','Field2','Field3'".Replace("'", "\""); 

동등한 것과 반대로

var value = "\"Field1\",\"Field2\",\"Field3\"";

전자는 후자보다 소음이 훨씬 적기 때문에 오타 등을 쉽게 볼 수 있습니다.

단위 테스트에서 많이 사용합니다.


나는 당신의 방식을 좋아합니다.
Mahdi-Malv

13
string str = @"""Hi, "" I am programmer";

OUTPUT- "안녕하세요"저는 프로그래머입니다.


링크가 cybersquatted되었습니다
Ross Anderson

4

예를 들어 다음 코드에 이스케이프 문자를 사용하십시오.

var message = "I want to learn \"c#\"";
Console.WriteLine(message);

다음을 출력합니다.

"c #"을 배우고 싶습니다.


1

상수를 선언하고 매번 사용할 수도 있습니다. 깔끔하고 혼란을 피하십시오 :

const string myStrQuote = "\"";

-2

코드:

string myString = "Hello " + ((char)34) + " World." + ((char)34);

출력은 다음과 같습니다.

안녕하세요. "월드"

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