LJM*_*LJM 3 .net c# garbage-collection idisposable
我理解这个问题是否重复,但我在调整一些关于这个主题的帖子时遇到了一些麻烦.
首先是一点背景.我有一个类Foo如下
public class Foo : IDisposable
{
private Dictionary<int, string> _reallyBigDictionary =
new Dictionary<int, string>();
public void Dispose()
{
_reallyBigDictionary = null;
}
}
Run Code Online (Sandbox Code Playgroud)
已知Foo的实例范围有限(即我知道我们不会永远保持它).鉴于它的实例范围有限,我没有看到_reallyBigDictionary如何实际上比释放更快地释放内存.我理解它的方式,这些对象在运行垃圾收集之前不会被清除.那时,无论如何,对给定Foo实例的引用都将为null,因此我希望GC能够回收该内存.
这些帖子让我相信将成员变量设置为null没有意义:
这篇文章让我质疑: 正确使用IDisposable接口
任何人都可以为我澄清这一点吗?IDisposable实现在这里真的有必要吗?因为我无法说服自己.
| 归档时间: |
|
| 查看次数: |
568 次 |
| 最近记录: |