c# - 使用逐字字符串文字和 appendformat 时出现索引(从零开始)错误

标签 c# stringbuilder

我正在尝试使用字符串生成器和附加格式来构建一些 html。如何在不出现以下错误的情况下使用逐字字符串文字和附加格式: “索引(从零开始)必须大于或等于零且小于参数列表的大小。”

看这个例子:

StringBuilder sb = new StringBuilder(5469);<br />
sb.AppendFormat(@"<td width=""155"">{0}</td>", localVariable); // zero index error here <br />
return sb;

最佳答案

localVariable 的类型是数组吗?如果是这样,该数组将被解释为 params 数组而不是 params 数组的第一个参数。要解决此问题,您需要在调用 AppendFormat

时将其显式转换为 object
sb.AppendFormat(@"{0}", (object)localVariable);

关于c# - 使用逐字字符串文字和 appendformat 时出现索引(从零开始)错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15283842/

相关文章:

c# - NHibernate.查询异常 : duplicate association path

c# - Task.Factory.StartNew 抛出异常

java - Android Logcat 每次输出调用是否限制为 4096 个字符?

c# - 哪一个是清除字符串生成器的性能明智的?

java - 为什么通过 List<String> 进行迭代比拆分字符串和通过 StringBuilder 进行迭代慢?

c# - datagridview c# 键盘上的多项选择

c# - 以编程方式将文本粘贴到另一个应用程序的文本框中

c# - json.net IValueProvider SetValue 抛出异常丢失

java - 追加空白字符串的快速方法。

c# - 清除 StringBuilder 对象的当前字符串