代码之家  ›  专栏  ›  技术社区  ›  Scott Chamberlain

如何获取String.Format不解析{0}

  •  2
  • Scott Chamberlain  · 技术社区  · 14 年前

    我正在编写一个代码生成工具,经常会有这样的行

    StringBuilder sp = new Stringbuilder();
    sp.AppendFormat("        public {0}TextColumn()\n", className);
    sp.AppendLine("        {"
    sp.AppendLine("            Column = new DataGridViewTextBoxColumn();");
    sp.AppendFormat("            Column.DataPropertyName = \"{0}\";\n", columnName);
    

    然而,我遇到的问题是,当我遇到这样一行。

    sp.AppendFormat("return String.Format(\"{0} = '{0}'\", cmbList.SelectedValue);", columnName);
    

    我要第一个 {0} 不管columnName的值是什么,但我想要第二个 {0} 让自己一个人呆着 String.Format

    5 回复  |  直到 14 年前
        1
  •  13
  •   Noldorin    14 年前

    使用双大括号:

    string result = string.Format("{{Ignored}} {{123}} {0}", 543);
    
        2
  •  7
  •   Dirk Vollmar    14 年前

    string.Format 国家:

    sp.AppendFormat("return String.Format(\"{0} = '{{0}}'\",cmbList.SelectedValue);", 
        columnName);
    
        3
  •  3
  •   Matthew Flaschen    14 年前
    sp.AppendFormat("return String.Format(\"{0} = '{{0}}'\", cmbList.SelectedValue);", columnName);
    
        4
  •  3
  •   Martin Ingvar Kofoed Jensen    14 年前

    使用“{0}}”。这将导致字符串“{0}”

        5
  •  1
  •   James Curran    14 年前
    String.Format(\"{0} = '{{0}}'\",