您是否需要处理对象并将它们设置为 null,或者当它们超出范围时垃圾收集器会清理它们吗?
当对象不再被使用并且垃圾收集器认为合适时,对象将被清理。有时,您可能需要设置一个对象null
为了使其超出范围(例如您不再需要其值的静态字段),但总的来说通常不需要设置为null
.
关于处置对象,我同意@Andre。如果物体是IDisposable
it is 处理掉它是个好主意当您不再需要它时,特别是当该对象使用非托管资源时。不处置非托管资源将导致内存泄漏.
您可以使用using
一旦你的程序离开范围就自动释放一个对象的语句using
陈述。
using (MyIDisposableObject obj = new MyIDisposableObject())
{
// use the object here
} // the object is disposed here
其功能相当于:
MyIDisposableObject obj;
try
{
obj = new MyIDisposableObject();
}
finally
{
if (obj != null)
{
((IDisposable)obj).Dispose();
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)