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 回答