2

我正在为我的服务器控件输出整个 HTML,如下所示:

public override void Render(HtmlTextWriter output)
{
  output.Write(myStringBuilder.ToString());
}

myStringBuilder 是在单独的私有方法中手动构建的 StringBuilder 对象。

这是一种有效的方法吗?还是将 HtmlTextWriter 传递给我的私有方法并多次调用 HtmlTextWriter.Write() 更好?

4

1 回答 1

6

将向下传递给您的方法更有效HtmlTextWriter,然后将其写入输出流,而不是缓冲多个字符串。

事实上,这就是核心 .Net 框架中的 web 控件的方式。在高层次上,将相同的内容传递给HtmlTextWriter所有的 Render 方法是很多的。通常,在进行大量读/写时,处理流会更有效……这就是您最终要做的(在这种情况下,流是响应流)。

免责声明: 这是一个小的优化,除非你正在创建单片的东西......但仍然是一个优化。

于 2010-02-04T00:34:50.943 回答