字符串参数占位符

时间:2012-08-19 22:38:40

标签: c# string parameters

        string str = "({{0}})";
        int i = 0;
        string str2 = string.Format(str, i++);
        string str3 = string.Format(str, i++);

为什么str3({0})代替({1})?

1 个答案:

答案 0 :(得分:5)

你逃脱了花括号,所以没有特别的意义。来自documentation

  

要以格式指定单个文字大括号字符,请指定两个前导或后缀大括号字符;即"{{""}}"

您可以简化程序并仍然可以证明问题:

Console.WriteLine("{{0}}", 1);

输出:

{0}

查看在线工作:ideone


要获得所需的输出,您需要使用{{,然后使用{0},最后使用}}

string str = "({{{0}}})";