TGViewer
C# | Вопросы собесов C# | Вопросы собесов @easy_c_sharp · 5.01K subscribers
Post #1733 1.23K
🤔 В чем отличие dispose и finalize?

Dispose и Finalize являются двумя механизмами для управления ресурсами, особенно теми, которые не управляются средой выполнения .NET, такими как файловые дескрипторы или соединения с базой данных. Они играют важную роль в освобождении ресурсов, но работают по-разному.

🚩Finalize

Можно переопределить в классе для выполнения очистки ресурсов перед тем, как объект будет собран сборщиком мусора. Этот метод вызывается сборщиком мусора автоматически, если объект уничтожается и не имеет других живых ссылок.

🚩Dispose

Является частью интерфейса IDisposable и предоставляет явный способ освобождения управляемых и неуправляемых ресурсов. Разработчики могут вызывать Dispose вручную или использовать конструкцию using, которая гарантирует вызов Dispose по завершении блока кода.

public class ResourceHolder : IDisposable
{
private bool disposed = false;

~ResourceHolder() // Финализатор
{
Dispose(false);
}

public void Dispose() // Метод Dispose из IDisposable
{
Dispose(true);
GC.SuppressFinalize(this);
}

protected virtual void Dispose(bool disposing)
{
if (!disposed)
{
if (disposing)
{
// Освобождение управляемых ресурсов
}

// Освобождение неуправляемых ресурсов
disposed = true;
}
}
}


Ставь 👍 и забирай 📚 Базу знаний
  • 💊 1
More from @easy_c_sharp
  1. Oct 17, 2026🤔 Что такое виртуальный метод? Виртуальный метод (virtual) — это метод, который можно пер…
  2. Oct 17, 2026🤔 Что такое медиатор? Это паттерн проектирования поведенческих шаблонов, который позволяе…
  3. Oct 16, 2026🤔 Как отменить Task? Используется CancellationToken: 1. Создаётся CancellationTokenSource…
  4. Oct 16, 2026🤔 Что такое .NET стандарт? .NET Standard — это спецификация API, которая определяет набор…
  5. Oct 15, 2026🤔 Что такое паттерн DDD? Это подход к разработке, фокусирующийся на модели домена и бизне…
  6. Oct 15, 2026🤔 Что такое Generic-и? Термин "Generic" (общий тип) относится к функциональности, позволя…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →