Освобождение потока через using в C#
Поток держит дескриптор файла или другой системный ресурс. Оператор using вызывает Dispose, даже если внутри блока случилась ошибка.
После Dispose повторные операции запрещены, а буферы сбрасываются на диск для файловых потоков.
Запишем байт внутри блока using. После выхода из блока поток закрыт, а файл на диске уже создан:
using System.IO;
using (FileStream gate = new("gate.bin", FileMode.Create))
{
gate.WriteByte(1);
}
Console.WriteLine(File.Exists("gate.bin")); // выведет True
В блоке using создайте файл "flag.bin", запишите байт 7 и после выхода из блока выведите длину файла в байтах.