パターンに角かっこが含まれているC#で文字列をフォーマットするにはどうすればよいですか?次のステートメントを実行すると...
String.Format("Foo { Bar={0} }", this.Bar);
...実行時例外を受け取ります:
System.FormatException:入力文字列が正しい形式ではありませんでした。
角かっこをエスケープする必要がありますか?方法?
パターンに角かっこが含まれているC#で文字列をフォーマットするにはどうすればよいですか?次のステートメントを実行すると...
String.Format("Foo { Bar={0} }", this.Bar);
...実行時例外を受け取ります:
System.FormatException:入力文字列が正しい形式ではありませんでした。
角かっこをエスケープする必要がありますか?方法?
{{
およびのように角かっこを2倍にして、角かっこをエスケープします。}}
String.Format("Foo {{ Bar={0} }}", this.Bar);
この状況は、MSDNの記事CompositeFormatting-EscapingBracesで説明されています。
中括弧の開閉は、フォーマット項目の開始と終了として解釈されます。したがって、エスケープシーケンスを使用して、リテラルの開始中括弧または終了中括弧を表示する必要があります。固定テキストで2つの中括弧( "{{")を指定して1つの中括弧( "{")を表示するか、2つの中括弧( "}}")を指定して1つの中括弧( "}")を表示します。
だからこれはあなたの解決策でなければなりません
String.Format("Foo {{ Bar={0} }}", this.Bar);
二重中括弧を使用してみてください。次のようになります。
String.Format("Foo {{ Bar={0} }}", this.Bar);
すでに回答済みのようです:String.Formatで中括弧'{'をエスケープします