c# - IDisposable 有什么用?

标签 c# garbage-collection dispose idisposable

如果 .NET 有垃圾回收功能,那么为什么你必须显式调用 IDisposable

最佳答案

垃圾回收是为了内存。您需要处理非内存资源 - 文件句柄、套接字、GDI+ 句柄、数据库连接等。这通常是 IDisposable 类型的基础,尽管实际句柄可能在链中很长一段路要走的引用资料。例如,您可以Dispose 一个XmlWriter,它处理一个它引用的StreamWriter,它处理FileStream 有一个引用,释放文件句柄本身。

关于c# - IDisposable 有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/615105/

相关文章:

c# - 为什么不能推断这些泛型类型参数?

c# - linq - 选择不等于某物的元素

java - Spring 应用程序消耗所有 CPU 然后崩溃

c# - 哪些 C# 类对象获取非托管资源?有名单吗?

c# - 为什么在释放对象后需要将此变量设置为空?

c# - Controller 生成很少的线程,尽管没有被询问

c# - 我如何以及在何处使用 C# 中的 i++ 运算符?

c# - .NET 垃圾收集行为(使用 DataTable 对象)

javascript - 我如何确定垃圾收集器正在收集哪些对象?

unity-container - 在 Unity 中需要处理?