Задать вопрос

Как уничтожаются объекты и надо ли их самому уничтожать?

Вот пример кода.
public static string GetLastFolderName(string filePath)
{
FileInfo fileInfo = new FileInfo(filePath);
return fileInfo.Directory.Name;
}

В коде создается новый экземпляр класса.

В отличии от Delphi, вопрос уничтожения объектов в C# не рассматривается, по крайней мере на начальном и среднем уровне изучения языка. Говорят, что всё делается автоматически.
(в Delphi мы это делаем сами, "руками" и часто если забыл удалить объект, это приводит к ошибкам)

Как виртуальная машина .NET понимает, что объект пора уничтожать? И когда это происходит?
Ведь я могу обратиться к нему в любое время, например запустить приложение на C# и через день обратится к нему из другого сервиса/приложения.

Что будет если нужно выполнить код выше в цикле? То есть будет создано множество объектов.
По идее они мне в дальнейшем не нужны. Как только я получил return (имя папки), этот объект мне не нужен.
И если всё это в цикле, логично будет сразу уничтожить объект.

Как уничтожаются объекты и надо ли их самому уничтожать?
  • Вопрос задан
  • 586 просмотров
Подписаться 1 Простой 5 комментариев
Ответ пользователя V Sh. К ответам на вопрос (4)
@JuniorNoobie
Сижу в поддержке, пишу мелкие проекты
Скажем так, делать это не обязательно (собирать мусор самому), но если очень нужно (например, в рамках быстродействия), то можно и самому прописать уничтожение объектов (в finally, например).
Ответ написан