Sobes.tech
Junior — Middle
85

Можете ли привести пример ситуации, когда используется паттерн IDisposable для управления ресурсами?

Ответ от нейросети

sobes.tech AI

Паттерн IDisposable используется для управления неуправляемыми ресурсами, такими как файловые дескрипторы, сетевые соединения, потоки и т.п. Его цель — гарантировать освобождение ресурсов, когда объект больше не нужен.

Пример: работа с файлом. Класс FileStream реализует IDisposable, чтобы закрыть файл и освободить дескриптор после использования.

using (var stream = new FileStream("file.txt", FileMode.Open))
{
    // Работа с файлом
}
// Здесь stream.Dispose() вызывается автоматически, файл закрывается

Использование конструкции using гарантирует вызов Dispose, даже если возникнет исключение.