在.NET中使用后将对象设置为Null/Nothing
是否应该将所有对象设置为null
(Nothing
(在VB.NET中)一旦你完成了它们?
我理解在.NET中,必须处理实现IDisposable
接口来释放某些资源,尽管对象在被释放后仍然可以是一些东西(因此,isDisposed
属性),所以我假设它仍然可以驻留在内存中,或者至少部分驻留在内存中?
我还知道,当一个对象超出作用域时,它就会被标记为收集,为垃圾收集器的下一次传递做好准备(尽管这可能需要时间)。
因此,考虑到这一点,我们将把它设置为null
加快系统释放内存,因为它不需要计算出它不再在范围内,它们是否有任何坏的副作用?
MSDN文章从未在示例中这样做,目前我这样做是因为我看不到它的危害。然而,我遇到了各种各样的意见,所以任何评论都是有用的。