c# - 如何让 String.Format 不解析 {0}

标签 c# code-generation string.format

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

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 将正确处理它。

我该怎么做?

最佳答案

使用双花括号:

string result = string.Format("{{Ignored}} {{123}} {0}", 543);

关于c# - 如何让 String.Format 不解析 {0},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3319896/

相关文章:

c# - Serilog - 单独的信息文件,使用 appsetting.json 的异常(exception)

c# - 新 CAD GUI 的拖放绘图区域的语言和方法?

java - 从 AST 生成代码的最佳设计?

.net - 在 String.Format() 中转义单引号

C# String.Format - 无效的输入字符串

C# 可以将 "program"类部分用于控制台应用程序吗?

c# - 在静态构造函数中初始化静态变量而不是直接赋值有什么好处

java - 加载检测类时避免注入(inject)

.net - XSLT 和 T4 代码生成方法之间有什么区别?

c# - 为什么要使用只有一个参数的 string.Format 呢?