1

将 string.format 放入 stringbuilder 时出现“对象引用错误”。我在 C#2.0 中有以下代码

public const string PageLinkGoogleMarkup = "<link rel=\"alternate\" hreflang=\"{0}\" href=\"{1}www.mysite.com{2}{3}\" />\r\n";

现在,当我将它添加到 HtmlTextWriter 时,它工作正常,如下所示:

HtmlTextWriter writer (Object);
writer.write(string.format(PageLinkGoogleMarkup,str[1],header,links,querystr)); //This works perfect

当我尝试将上面的代码添加到 StringBuilder 而不是 HtmlTextWriter 时,它会给出错误:

由于存在大循环,所以我决定先将所有内容附加到 StringBuilder,最后使用 writer.Write 渲染(一堆中的整个 html),请在下面的代码

StringBuilder sb = new StringBuilder();
sb.Append(string.format(PageLinkGoogleMarkup,str[1],header,links,querystr)); //here i get object reference error

writer.Write(sb.ToString());

请推荐!!

谢谢。

4

1 回答 1

0

当您在 StringBuilder 代码中使用它时,以下变量之一为空(但在工作代码中使用它时不为空):

str (or the item in index [1])
header
links
querystr

使用调试器找出哪个是空的,修复它,代码应该可以正常工作。

于 2012-05-23T14:47:12.010 回答