2011-08-18 2 views
22

가능한 중복 :
Escape curly brace '{' in String.Format은 C#을 및 String.format

C#을 사용하면 토큰 문자열 만 삽입 PARAMS를 포맷 할 수있는 및 String.format 방법이있다 {0}{1}

문자열에 중괄호가 있어야하는 간단한 json 문자열을 만들려고합니다.

내 문자열 형식이 잘못되었습니다라는 예외가 발생합니다 도움이되지 않았다 중괄호 전에 탈출을 추가 포맷터

String.Format("{ foo:'{0}', bar:'{1}' }", foo, bar); 

, 사람이 극복하는 방법을 알고을 깨는?

+0

이상, 당신은이 작업을 수행 할 수 있습니다 {곱슬} ... ; \t 문자열 larry = "래리"; \t 문자열 곱슬 = "{곱슬}"; \t 문자열 결과 = $ "1 : {moe} 2 : {래리} 3 : {곱슬}"; – rwg

답변

44

당신은 형식 문자열에 그들을 배로 괄호를 탈출 할 수 있습니다 : 당신은 단순히 중괄호를 탈출 {{ 또는 }}을 사용할 수 있습니다

string.Format("{{ foo: '{0}', bar: '{1}' }}", foo, bar); 
11

.

Console.WriteLine(String.Format("{0}, {1}, {{{2}}}", "Moe", "Larry", "Curly")); 

는 생산 :

모에, 래리, \t 문자열 모에 = "모에"프레임 워크 4.6에서

+5

중괄호에서 세배로하는 것에주의해야합니다.이 경우에는 작동하지만 일반적으로 '{{{'또는 '}}}'로 파서 뷰를 수행합니다. 중괄호 인 {3}을 만드는 것이 더 좋습니다. –