string str = "({{0}})";
int i = 0;
string str2 = string.Format(str, i++);
string str3 = string.Format(str, i++);
为什么str3({0})代替({1})?
答案 0 :(得分:5)
你逃脱了花括号,所以没有特别的意义。来自documentation:
要以格式指定单个文字大括号字符,请指定两个前导或后缀大括号字符;即
"{{"
或"}}"
。
您可以简化程序并仍然可以证明问题:
Console.WriteLine("{{0}}", 1);
输出:
{0}
查看在线工作:ideone
要获得所需的输出,您需要使用{{
,然后使用{0}
,最后使用}}
:
string str = "({{{0}}})";