这个问题已经在这里有了答案:
已关闭8年。
与response.write()和response.output.write()有何不同?请解释。
最佳答案
See this:
ASP.NET中Response.Write()
和Response.Output.Write()
之间的区别。简短的答案是,后者为您提供String.Format-style
输出,而前者则没有。长答案如下。
在ASP.NET中,Response
对象的类型为HttpResponse
,当您说Response.Write
时,您实际上是在说(基本上)是HttpContext.Current.Response.Write
,并且是Write
的许多重载HttpResponse
方法之一。Response.Write
然后在其内部.Write()
对象上调用TextWriter
:
public void Write(object obj){ this._writer.Write(obj);}
HttpResponse
还具有一个称为Output
的属性,其类型为TextWriter
,因此:public TextWriter get_Output(){ return this._writer; }
这意味着您可以执行
Response
,无论TextWriter
允许您做什么。现在,TextWriters支持Write()
方法aka String.Format
,因此您可以执行以下操作:Response.Output.Write("Scott is {0} at {1:d}", "cool",DateTime.Now);
但是,在内部,这当然正在发生:
public virtual void Write(string format, params object[] arg)
{
this.Write(string.Format(format, arg));
}
关于c# - Response.Write()和Response.Output.Write()有什么区别? [复制],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1794792/