1

stringbuilder に string.format を配置しているときに、「オブジェクト参照エラー」が発生します。私は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

上記のコードを HtmlTextWriter の代わりに StringBuilder に追加しようとすると、エラーが発生します。

大きなループがあるので、最初に 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 コードで使用している場合は null です (ただし、作業コードで使用した場合は null ではありませんでした)。

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

デバッガーを使用してどれが null であるかを特定し、それを修正すると、コードは正常に動作するはずです。

于 2012-05-23T14:47:12.010 に答える