4

パターンに角かっこが含まれているC#で文字列をフォーマットするにはどうすればよいですか?次のステートメントを実行すると...

String.Format("Foo { Bar={0} }", this.Bar);

...実行時例外を受け取ります:

System.FormatException:入力文字列が正しい形式ではありませんでした。

角かっこをエスケープする必要がありますか?方法?

4

3 に答える 3

16

{{およびのように角かっこを2倍にして、角かっこをエスケープします。}}

String.Format("Foo {{ Bar={0} }}", this.Bar);
于 2013-02-13T15:13:02.277 に答える
4

この状況は、MSDNの記事CompositeFormatting-EscapingBracesで説明されています。

中括弧の開閉は、フォーマット項目の開始と終了として解釈されます。したがって、エスケープシーケンスを使用して、リテラルの開始中括弧または終了中括弧を表示する必要があります。固定テキストで2つの中括弧( "{{")を指定して1つの中括弧( "{")を表示するか、2つの中括弧( "}}")を指定して1つの中括弧( "}")を表示します。

だからこれはあなたの解決策でなければなりません

String.Format("Foo {{ Bar={0} }}", this.Bar);
于 2013-02-13T15:14:23.960 に答える
4

二重中括弧を使用してみてください。次のようになります。

String.Format("Foo {{ Bar={0} }}", this.Bar);

すでに回答済みのようです:String.Formatで中括弧'{'をエスケープします

于 2013-02-13T15:17:07.933 に答える