Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

C# String.Format with Curly Bracket in string [duplicate]

Possible Duplicate:
Escape curly brace '{' in String.Format

c# has a String.Format method that allows you to format a string but inserting params with the tokens {0} {1}

I am trying to create a simple json string which requires curly brackets to be in the string, and so it is breaking the formatter

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

Adding an escape before the braces did not help

Throws a exception saying my string is incorrectly formatted, anyone know how to get around this?

like image 924
MattoTodd Avatar asked Aug 18 '11 21:08

MattoTodd


2 Answers

You can escape the braces by doubling them up in your format strings:

string.Format("{{ foo: '{0}', bar: '{1}' }}", foo, bar); 
like image 198
Matthew Abbott Avatar answered Sep 18 '22 20:09

Matthew Abbott


You can simply use {{ or }} to escape a curly brace.

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

produces:

Moe, Larry, {Curly}

like image 32
Bryan Crosby Avatar answered Sep 17 '22 20:09

Bryan Crosby