Прочитать на английском

Поделиться через


Debug.Flush Метод

Определение

Очищает выходной буфер и вызывает запись буферизованных данных в коллекцию Listeners.

[System.Diagnostics.Conditional("DEBUG")]
public static void Flush ();
Атрибуты

Примеры

В следующем примере создается объект с TextWriterTraceListener именем myTextListener. myTextListener FileStream использует для myFileStream записи в файл с именем TestFile.txt. В примере создается поток, открывается файл , если он существует, или создается новый, записывается одна строка текста в файл, а затем выполняется очистка и закрытие выходных данных.

// Specify /d:DEBUG when compiling.

using System;
using System.IO;
using System.Diagnostics;

class Test
{
    static void Main()
    {
        // Create a new stream object for an output file named TestFile.txt.
        using (FileStream myFileStream =
            new FileStream("TestFile.txt", FileMode.Append))
        {
            // Add the stream object to the trace listeners.
            TextWriterTraceListener myTextListener =
                new TextWriterTraceListener(myFileStream);
            Debug.Listeners.Add(myTextListener);

            // Write output to the file.
            Debug.WriteLine("Test output");

            // Flush and close the output stream.
            Debug.Flush();
            Debug.Close();
        }
    }
}

Комментарии

Очистка потока не приведет к очистке его базового кодировщика, если вы явно не вызовете Flush или Close. Установка значения AutoFlushtrue означает, что данные будут сброшены из буфера в поток, но состояние кодировщика не будет сброшено. Это позволяет кодировщику сохранять свое состояние (частичные символы), чтобы он смог правильно кодировать следующий блок символов. Этот сценарий влияет на UTF8 и UTF7, где определенные символы могут быть закодированы только после того, как кодировщик получит смежные символы или символы.

Применяется к

Продукт Версии
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

См. также раздел