Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
807 of 1492 menu
◀ ▶

Свойство AutoFlush

StreamWriter.AutoFlush по умолчанию false. Пока false, после Write MemoryStream.Length может быть 0. При true WriteLine виден без ручного Flush.

Синтаксис

writer.AutoFlush = true; bool on = writer.AutoFlush;

Пример

Давайте проверим значение по умолчанию:

using System; using System.IO; using System.Text; class Program { static void Main() { var ms = new MemoryStream(); using var writer = new StreamWriter( ms, new UTF8Encoding(false), 1024, leaveOpen: true); bool res = writer.AutoFlush; Console.WriteLine(res); } }

Результат выполнения кода:

False

Пример

Давайте включим AutoFlush и вызовем WriteLine:

using System; using System.IO; using System.Text; class Program { static void Main() { var ms = new MemoryStream(); using (var writer = new StreamWriter( ms, new UTF8Encoding(false), 1024, leaveOpen: true)) { writer.AutoFlush = true; writer.NewLine = "\n"; writer.WriteLine("abcde"); } long res = ms.Length; Console.WriteLine(res); } }

Результат выполнения кода:

6

Пример

Давайте без AutoFlush длина останется 0 до Flush:

using System; using System.IO; using System.Text; class Program { static void Main() { var ms = new MemoryStream(); using (var writer = new StreamWriter( ms, new UTF8Encoding(false), 1024, leaveOpen: true)) { writer.WriteLine("abcde"); long before = ms.Length; writer.Flush(); long after = ms.Length; Console.WriteLine(before); Console.WriteLine(after > 0); } } }

Результат выполнения кода:

0 True

Смотрите также

  • метод Flush,
    который сбрасывает буфер вручную
  • метод WriteLine,
    который пишет строку
  • StreamWriter,
    класс, где объявлено свойство
  • Stream,
    приёмник после сброса
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить