c# - 使用垃圾收集?

标签 c# garbage-collection dispose

我想知道当我们调用 Dispose() 方法时执行了什么操作。 Is Object 在调用 Dispose() 时快速释放所有资源,或者 Dispose() 标记对象已准备好进行垃圾回收。以及当我们将对象引用设置为 NULL 时发生了什么。实际上我在 .NET 2.0 中有 Windows 窗体应用程序。我想在经过一定时间后(例如 5 分钟后)调用垃圾收集器来收集所有未引用的对象。

最佳答案

正常处理 frees unmanaged resources owned by the object .调用 Dispose 不会触发垃圾回收;当不再有任何对它的引用时,您的对象将被收集,就像您从未调用过 Dispose 一样。

将对象引用设置为null 只会导致该引用不再指向该对象;您通常不需要这样做(例如,您几乎不需要将局部变量设置为 null)。

您几乎也不需要自己触发垃圾回收。您是否看到一个问题表明您需要每 5 分钟运行一次垃圾回收,而不是在运行时选择的时间点运行?

关于c# - 使用垃圾收集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3148635/

相关文章:

c# - 通过 Socket 将 Delphi Record 发送到 C#

c# - 在 Debug模式下运行 Visual Studio 控制台应用程序占用的 CPU 使用率不超过 50%

C# 垃圾回收

java - RMI 注册表生命周期、GC 等

c# - 是否应该对 Dispose 方法进行单元测试?

c# - .net/native 编码的 out string 和 StringBuilder 之间有什么区别?

c# - httpclient PostAsJsonAsync方法未找到.net框架4并行解决方案

java - 如何在完成 TestNG 测试类时将变量值重置为 null

c# - 识别 IDisposable 对象

linq-to-sql - 当暴露 IQueryable 时,DataContext 何时被处置?