什么时候应该在C#中使用(...){...}?

时间:2009-03-24 19:06:38

标签: c#

我看到它被使用了,我在这里和那里读到它,它与内存管理有关。问题是,您怎么知道何时应该使用它?如果不使用它会如何区分导致问题的变量或实例?

完全重复What is the C# Using block and why should I use it?

3 个答案:

答案 0 :(得分:8)

每当实例化实现IDisposable的类的对象时。

答案 1 :(得分:1)

using语句用于实现IDisposable的类。 using语句为类的Disposable实例提供范围,并在退出范围时调用对象上的Dispose方法。每当您想要主动释放某些托管资源或者在托管对象被垃圾收集(或处置)时需要清理的非托管资源时,您都可以实现IDisposable。

答案 2 :(得分:0)

  

它与内存管理有关

不是真的。它与非托管资源有关:几乎所有计算机都可以使用除了内存。

问题是你不能(好吧:不应该)强制垃圾收集器在特定时间清理你的对象。但是,对于数据库连接,套接字,信号量等资源,您不希望持续时间超过必要的时间。通常你必须使用try / finally结构。 using语句只提供了一个更好的机制来处理这种情况。只要您拥有任何实现using接口的对象,就可以转到IDisposable语句。

相关问题