C# 图像的清除实例

C# 图像的清除实例,c#,image,dispose,C#,Image,Dispose,只是不确定,若我有一个类型为Image的类并想清除它,那个么将其实例设置为null就足够了吗? 或者我需要调用它的dispose方法?谢谢你一定要把它处理掉。例如,如果您只允许对图像进行垃圾收集,则它可能有一个打开的文件句柄,该句柄将一直使用到最终完成。这只是一个实际的问题示例-但是您应该处理映像的最佳线索是该类实现了IDisposable: 请注意,通常不应将变量设置为null-这很少是必需的,并且会给代码增加混乱。你应该扔掉一次性物品。通常这是在using语句中完成的,除非您正在处理实例变量

只是不确定,若我有一个类型为Image的类并想清除它,那个么将其实例设置为null就足够了吗?
或者我需要调用它的dispose方法?谢谢

你一定要把它处理掉。例如,如果您只允许对图像进行垃圾收集,则它可能有一个打开的文件句柄,该句柄将一直使用到最终完成。这只是一个实际的问题示例-但是您应该处理映像的最佳线索是该类实现了IDisposable:

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


最后注意:不能将实例设置为null。。。您可以将值null分配给变量,仅此而已。

您应该明确地处理它。例如,如果您只允许对图像进行垃圾收集,则它可能有一个打开的文件句柄,该句柄将一直使用到最终完成。这只是一个实际的问题示例-但是您应该处理映像的最佳线索是该类实现了IDisposable:

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

最后注意:不能将实例设置为null。。。您可以将值null分配给变量,仅此而已。

您需要调用其Dispose方法。将实例变量设置为null没有任何用处,在C中也不需要这样做

一般来说,规则是,如果对象实现IDisposable接口,则应在完成该接口后立即调用其Dispose方法。这有助于避免使用非托管资源的对象发生内存泄漏。最好的方法是将它包装在一个容器中。

您需要调用它的Dispose方法。将实例变量设置为null没有任何用处,在C中也不需要这样做


一般来说,规则是,如果对象实现IDisposable接口,则应在完成该接口后立即调用其Dispose方法。这有助于避免使用非托管资源的对象发生内存泄漏。最好的方法是用塑料袋包装。

谢谢!是的,我认为将指向实例的变量设置为null。我假设如果最后一个引用消失,对象也会消失——我已经读过了。@Tray13:No,.NET不使用引用计数。当没有活动变量引用某个对象时,该对象有资格进行垃圾收集-但这并不意味着它会立即被收集,并且可能还有其他变量仍在引用它,只要这些变量也在符合垃圾收集条件的对象内。如果没有其他变量包含对该对象的引用?我只有一个,谢谢!是的,我认为将指向实例的变量设置为null。我假设如果最后一个引用消失,对象也会消失——我已经读过了。@Tray13:No,.NET不使用引用计数。当没有活动变量引用某个对象时,该对象有资格进行垃圾收集-但这并不意味着它会立即被收集,并且可能还有其他变量仍在引用它,只要这些变量也在符合垃圾收集条件的对象内。如果没有其他变量包含对该对象的引用?我只有一个。