Информация об изменениях

Сообщение Re[8]: Только что с интервью... от 31.03.2017 14:01

Изменено 31.03.2017 14:04 zou

Re[8]: Только что с интервью...
Здравствуйте, Mishka, Вы писали:


M>>>>GC вычистит ненужный более объект (ушедший из поля видимости). Только using для этого не обязателен, это уже я поспешил замечание сделать. using нужен был, если требовалась очистка, даже при словленном исключении, то есть, это фактически аналог try{}finally{}


IT>>>Давай без using. Нет его. Влияют ли скобки на время жизни объекта? С областью видимости переменной всё понятно. А как с объектом?


M>>По идее тоже заканчивается за блоком, если только не static.


M>На коленке :


M>
M>{
M>    var o = new MyClassWithFinilizer();
M>}
M>GC.Collect
M>GC.WaitForPendingFinilizers()
M>GC.Gollect
M>


M>Упадёт объект? Нет студии под рукой проверить



Время жизни объекта заканчивается
Re[8]: Только что с интервью...
Здравствуйте, Mishka, Вы писали:


M>>>>GC вычистит ненужный более объект (ушедший из поля видимости). Только using для этого не обязателен, это уже я поспешил замечание сделать. using нужен был, если требовалась очистка, даже при словленном исключении, то есть, это фактически аналог try{}finally{}


IT>>>Давай без using. Нет его. Влияют ли скобки на время жизни объекта? С областью видимости переменной всё понятно. А как с объектом?


M>>По идее тоже заканчивается за блоком, если только не static.


M>На коленке :


M>
M>{
M>    var o = new MyClassWithFinilizer();
M>}
M>GC.Collect
M>GC.WaitForPendingFinilizers()
M>GC.Gollect
M>


M>Упадёт объект? Нет студии под рукой проверить


"objects aren’t guaranteed to live throughout a method’s lifetime"

(c) J. Richter

Объект может быть собран даже до фигурной скобки метода, где объявлена локальная ссылка на него, ищите по цитате у Рихтера.