Sobes.tech
Junior — Middle
87

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

AI-дан жауап

sobes.tech AI

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

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

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

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