Каково различие между Ответом. Запишите () andResponse. Вывод. Записать ()? [дубликат]

Рассмотрите Кинез Очерченный клавиатура. Мне потребовался приблизительно месяц для набирания скорость с моим, и я теперь полагаю, что он идеальная клавиатура Emacs, даже без педали ножного управления.

Никакая шутка. Я заказал свой первый с продовольственной педалью, но нашел, что не был на самом деле способен к координированию синхронизации моих ног и моих рук достаточно для много использования его для модифицирующих клавиш. Некоторое время я использовал его для переключения интегрированной цифровой клавиатуры, но я бросил это, когда я понял, что не использовал его, потому что строки числа на Кинезе настолько легко достигнуть.

18
задан Community 23 May 2017 в 02:09
поделиться

3 ответа

См. Это :

Разница между Response.Write () и Response.Output.Write () в ASP.NET. Короткий ответ заключается в том, что последний дает вам вывод в стиле String.Format , а первый - нет. Далее следует длинный ответ.

В ASP.NET объект Response имеет тип HttpResponse , и когда вы говорите Response.Write , вы действительно говорите ( в основном) HttpContext.Current.Response.Write и вызов одного из многих перегруженных методов Write для HttpResponse .

Ответ. 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 () , также известный как 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)); 
}
26
ответ дан 21 October 2019 в 05:29
поделиться

Ничего, они синонимичны ( Response.Write - это просто более короткий способ выразить действие записи в ответ).

Если вам интересно, реализация HttpResponse.Write выглядит так:

public void Write(string s)
{
    this._writer.Write(s);
}

А реализация HttpResponse.Output такова:

public TextWriter Output
{
    get
    {
        return this._writer;
    }
}

Итак, как вы можете видеть, Response.Write и Response.Output.Write поистине синонимичные выражения.

1
ответ дан 21 October 2019 в 05:29
поделиться

Response.write () не выдает форматированный вывод. Последний позволяет писать форматированный вывод.

Response.write - записывает текстовый поток Response.output.write - записывает поток вывода HTTP.

1
ответ дан 21 October 2019 в 05:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: