Bud*_*dda 6 .net c# idisposable
可能重复:
正确使用IDisposable接口
"IDisposable Interface"文章告诉我们:
此接口的主要用途是释放非托管资源
为什么?为什么只有不受管理?
我的整个生命我认为它的PRIMIRALY用途是释放任何资源:托管(连接到DB,服务代理等)和非托管(如果它们在应用程序中使用).
PS
我相信已经有关于这个主题的问题,但找不到它们.
如果你进一步阅读,有一个解释:
当不再使用该对象时,垃圾收集器会自动释放分配给托管对象的内存.但是,无法预测垃圾收集何时发生.此外,垃圾收集器不了解非托管资源,例如窗口句柄,或打开文件和流.
垃圾收集器负责管理托管资源.这就是他们的原因managed.
此外,示例中的连接资源不是受管资源..NET连接类包装非托管资源.