清除图像实例

时间:2011-02-11 07:14:29

标签: c# image dispose

只是不确定,如果我有类型Image类并想要清除它,是否足以将其实例设置为null? 或者我需要调用它的dispose方法?感谢

2 个答案:

答案 0 :(得分:2)

你应该放弃它。例如,它可能有一个打开的文件句柄,如果您只是允许对图像进行垃圾回收,它将一直使用到最终完成。这只是问题的一个实际例子 - 但是你应该处理图像的最好线索就是类实现了IDisposable:)

请注意,通常您不应将变量设置为null - 这很少需要,并且会给代码添加混乱。你应该处理一次性物品。通常情况下,这是在using语句中完成的,除非您要处理实例变量,这通常是在您自己的Dispose方法中完成的。

最后注意:你不能将实例设置为null ...你可以为变量赋值“null”,这就是全部。

答案 1 :(得分:2)

您需要调用其Dispose方法。将实例变量设置为null并没有做任何有用的事情,您不需要在C#。

通常,规则是如果对象实现了IDisposable接口,则应在完成后立即调用其Dispose方法。这有助于避免使用非托管资源的对象的内存泄漏。 最佳方法是将其包装在using statement