首页 > 解决方案 > 垃圾收集如何处理超出范围的对象?

问题描述

我对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 何时能够清理这两个图像会有什么不同吗?

提前致谢...

[编辑:] 明确地说,由于这被标记为重复,我的问题是 GC 在第一个示例中如何处理图像对象,因为在该语句执行后,我无法再访问图像对象。(我认为这与关于 GC 处理实现的一般性讨论不同IDisposable)。

标签: c#asp.netgarbage-collection

解决方案


推荐阅读