Встречается на собеседованиях • сегодня
Использовал ли управляемые ресурсы в C#
Да, использовал. В C# управляемые ресурсы автоматически освобождаются сборщиком мусора (GC), но для работы с неуправляемыми ресурсами (файлы, соединения и т.д.) реализуют интерфейс IDisposable.
Пример с using для автоматического вызова Dispose():
csharp
using (var fileStream = new FileStream("file.txt", FileMode.Open))
{
// работа с файлом
}
// Dispose() вызывается автоматическиДля классов с неуправляемыми ресурсами:
csharp
public class ResourceHolder : IDisposable
{
private bool _disposed = false;
protected virtual void Dispose(bool disposing)
{
if (!_disposed)
{
if (disposing)
{
// освобождение управляемых ресурсов
}
// освобождение неуправляемых ресурсов
_disposed = true;
}
}
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
~ResourceHolder() => Dispose(false);
}Также важно учитывать, что Dispose() можно вызывать вручную, если объект не используется в using.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы