В C # /. NET нет "деструктора", хотя в прошлом термин, по-видимому, использовался взаимозаменяемо с "финализатором".
В большинстве случаев вам также не следует реализовывать финализаторы; основной случай, когда вам нужно их использовать, это если класс удерживает неуправляемые ресурсы, и в этом случае вы должны реализовывать шаблон IDisposable
(технически вы можете назвать Dispose
«деструктором», но он делает * 1005). * не фактически освобождает любую память в куче, что является важным отличием при обсуждении управления памятью).
Не переоценивайте ГХ с точки зрения управления памятью. Просто убедитесь, что вы освобождаете любые неуправляемые ресурсы, которые используете (дескрипторы файлов и т. Д.). И если вы видите, что кто-то использует термин деструктор , он, вероятно, хотел сказать финализатор .