Junior — Middle
87
Можете ли привести пример ситуации, когда используется паттерн IDisposable для управления ресурсами?
AI-дан жауап
sobes.tech AI
Паттерн IDisposable используется для управления неуправляемыми ресурсами, такими как файловые дескрипторы, сетевые соединения, потоки и т.п. Его цель — гарантировать освобождение ресурсов, когда объект больше не нужен.
Пример: работа с файлом. Класс FileStream реализует IDisposable, чтобы закрыть файл и освободить дескриптор после использования.
using (var stream = new FileStream("file.txt", FileMode.Open))
{
// Работа с файлом
}
// Здесь stream.Dispose() вызывается автоматически, файл закрывается
Использование конструкции using гарантирует вызов Dispose, даже если возникнет исключение.