web-dev-qa-db-ja.com

文字列に中括弧があるC#String.Format

重複の可能性:
String.Formatのエスケープ中括弧 '{'

c#にはString.Formatメソッドがあり、文字列をフォーマットできますが、トークンを使用してparamsを挿入できます{0}{1}

文字列に中括弧が必要な単純なjson文字列を作成しようとしているため、フォーマッタが壊れています

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

中括弧の前にエスケープを追加しても役に立たなかった

文字列が正しくフォーマットされていないという例外をスローします、誰でもこれを回避する方法を知っていますか?

23
MattoTodd

中かっこをエスケープするには、フォーマット文字列で中かっこを2つにします。

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

{{または}}中括弧をエスケープします。

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

生成する:

萌え、ラリー、{カーリー}

13
Bryan Crosby