Как сборщик мусора обрабатывает объекты, которые выходят за рамки? - PullRequest
0 голосов
/ 14 января 2019

Я довольно новичок в c #, поэтому я прошу прощения, если ответ на мой вопрос до боли очевиден ...

Мне интересно, есть ли разница между тем, как сборщик мусора обрабатывает следующие две Image ссылки на объекты:

Size imgSize = System.Drawing.Image.FromStream(FileUpload01.FileContent).PhysicalDimension.ToSize();

и

Size imgSize;
using (System.Drawing.Image img = System.Drawing.Image.FromStream(FileUpload01.FileContent))
{
    imgSize = img.PhysicalDimension.ToSize();
}

поэтому в первом примере ссылка на сохраненное изображение отсутствует, а во втором - предложение using должно принудительно утилизировать.

Будет ли какая-либо разница в том, когда GC сможет очистить эти два изображения?

Заранее спасибо ...

[EDIT:] Чтобы было понятно, поскольку это было помечено как дубликат, мой вопрос в том, как GC обрабатывает объект изображения в первом примере, поскольку после выполнения этого оператора я больше не могу получить доступ к объекту изображения. (я думаю, что это отличается от общего обсуждения обработки GC IDisposable реализаций).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...