我对 close、dispose、finalize、GC、Idisposable 完全困惑。 哦,你能给我发一份关于它们的清晰描述吗?
最佳答案
这是一个相当大的话题。我可以推荐这本书吗 CLR via C#由里希特。它详细介绍了您提到的所有问题。
一个非常简短的翻译:
- 在一次性类型上,Close 通常与 Dispose 相同。
- Dispose 用于确定性地清理未被垃圾回收处理的资源。
- Finalizer(或 C# 语言规范所称的析构函数)是垃圾收集代码在某个时间点调用的清理方法。 IE。与 C++ 的析构函数不同,这不是在明确定义的时间点完成的。
- GC 是垃圾收集的缩写,指的是 .NET 对位于托管堆上的对象的自动清理。
- IDisposable 是一个接口(interface),声明所讨论的类型实现了上面概述的 Dispose 方法。
更多细节请查阅本书。 This rather elaborate blog entry Joe Duffy 的著作对于理解 IDisposable 和终结器也非常有用。
关于c# - close, dispose, finalize, GC, Idisposable,....你对它们有清楚的描述吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1198914/