垃圾回收器如何在 C# 中释放内存
本文关键字:释放 内存 | 更新日期: 2023-09-27 18:37:22
代码看起来像这样。
public class clsMisc : IDisposable {
List<clsEmployee> lst = new List<clsEmployee>();
void Add(){
lst.Add(obj);
//Adding to it list here
}
public void Dispose()
{
lst = null;
}
}
上面的类是这样称呼的,
Using( clsMisc obj = new clsMisc()){
//Here goes the code
}
一旦它超出使用范围,clsMisc 中的 dispose 方法就会调用并在其中我们分配了空值。
存储在内存中的值(列表中 clsEmployee 的现有记录)将被释放并分配新值,或者它将创建列表的新实例并分配空值?
我无法理解这种行为,因为我是新手。
有人可以指导我吗?
您根本不需要担心它,因为收集器相当聪明,并且因为它是一种托管语言,因此您应该真正使用它。
收集器将决定何时需要执行清理,因此无法保证何时执行其工作。
但是,如果您死心塌地地想要强制收集,则可以调用GC.Collect