Sco*_*ain 2 c# string.format code-generation
我正在编写一个代码生成工具,经常会有类似的行
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);
Run Code Online (Sandbox Code Playgroud)
然而,我遇到的问题是当我遇到像这样的一行时.
sp.AppendFormat("return String.Format(\"{0} = '{0}'\", cmbList.SelectedValue);", columnName);
Run Code Online (Sandbox Code Playgroud)
我想第一个{0}在转向任何COLUMNNAME的价值,但我想seccond {0}独处因此内部String.Format会正确地处理它.
我该怎么做呢?
Flo*_*chl 13
使用双花括号:
string result = string.Format("{{Ignored}} {{123}} {0}", 543);
Run Code Online (Sandbox Code Playgroud)
可以使用两个大括号字符来转义大括号.string.Format各州的文件:
要以格式指定单个文字大括号字符,请指定两个前导或尾随大括号字符; 也就是说,"{{"或"}}".
在你的例子中
sp.AppendFormat("return String.Format(\"{0} = '{{0}}'\",cmbList.SelectedValue);",
columnName);
Run Code Online (Sandbox Code Playgroud)