Страницы

Поиск по вопросам

среда, 31 октября 2018 г.

Освобождается ли память, выделенная под переменную ссылочного типа, которая объявлена внутри метода?

Допустим, имеется метод внутри класса:
public ICollection GetData() { ICollection rezult; var tempCollection = context.Get(); //doing some stuff; return rezult; }
Как ни крути, мне в коде нужна эта временная переменная. Вопрос состоит в том, нужно ли "занулять" эту переменную (tempCollection = null;), чтобы GC при сборке мусора понял, что она уже не нужна, или же это и так будет понятно, посколько она объявлена внутри метода?


Ответ

При завершении метода все его локальные переменные пропадают (если только не были захвачены замыканием). Отдельно занулять их не нужно.

Комментариев нет:

Отправить комментарий