3

} を含むフォーマット文字列をリテラルとして使用しようとしていますが、期待どおりに動作しません

Response.Write(String.Format("{0:d}}}", 6))

出力:d}

私が期待している出力は次のとおりです。

6}

何らかの理由で、エスケープされていない } に隣接して表示される場合、} は正しくエスケープされません。

さらに、このコード行は実際に例外をスローします!

Response.Write(String.Format("{0:D}}}", SqlDbType.Int))

それからの予想される出力は次のとおりです。 8}(SqlDbType.Int の列挙型定数は 8 であるため)

この問題は実際のコードで発生しています。上記の例は、要点を説明するためのものです。中括弧を含むテキスト文字列をフォーマットするにはどうすればよいですか?

4

2 に答える 2

3

バグ」があります。あなたは言う必要があります:

String.Format("{0}{1:d}{2}", "{", 6, "}")
于 2013-06-13T00:53:46.603 に答える
1

試す

String.Format("{0:d'}'}", 6)    in C#

または、以下はVB.Netで機能する可能性があります...

String.Format("{0:d\}}", 6)    in VB.net
于 2013-06-13T00:51:15.010 に答える