如何让 String.Format 不解析 {0}
我正在编写一个代码生成工具,经常会有这样的行
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
将正确处理它。
我该怎么做?
I am writing a code generation tool that frequently will have lines like
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);
However the issue I am having is when I run in to a line like this.
sp.AppendFormat("return String.Format(\"{0} = '{0}'\", cmbList.SelectedValue);", columnName);
I want the first {0}
to turn in to whatever the value of columnName is but I want the seccond {0}
to be left alone so the internal String.Format
will process it correctly.
How do I do this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
使用双花括号:
Use double curly braces:
可以使用两个大括号字符来转义大括号。
string.Format< 的文档/code>
状态:
在你的例子中,那就是
Curly braces can be escaped by using two curly brace characters. The documentation of
string.Format
states:In your example that would be
使用“{{0}}”。这将产生字符串“{0}”
Use "{{0}}". This will result in the string "{0}"