我看到它被使用了,我在这里和那里读到它,它与内存管理有关。问题是,您怎么知道何时应该使用它?如果不使用它会如何区分导致问题的变量或实例?
答案 0 :(得分:8)
每当实例化实现IDisposable的类的对象时。
答案 1 :(得分:1)
using语句用于实现IDisposable的类。 using语句为类的Disposable实例提供范围,并在退出范围时调用对象上的Dispose方法。每当您想要主动释放某些托管资源或者在托管对象被垃圾收集(或处置)时需要清理的非托管资源时,您都可以实现IDisposable。
答案 2 :(得分:0)
它与内存管理有关
不是真的。它与非托管资源有关:几乎所有计算机都可以使用除了内存。
问题是你不能(好吧:不应该)强制垃圾收集器在特定时间清理你的对象。但是,对于数据库连接,套接字,信号量等资源,您不希望持续时间超过必要的时间。通常你必须使用try / finally结构。 using
语句只提供了一个更好的机制来处理这种情况。只要您拥有任何实现using
接口的对象,就可以转到IDisposable
语句。