using语句,定义一个范围,在范围结束时处理对象。
场景:
当在某个代码段中使用了类的实例,而希望无论因为什么原因,只要离开了这个代码段就自动调用这个类实例的Dispose。
要达到这样的目的,用try...catch来捕捉异常也是可以的,但用using也很方便。
using (Class1 cls1 = new Class1(), cls2 = new Class1())
{
// the code using cls1, cls2
} // call the Dispose on cls1 and cls2
这段代码相当于:
Class1 cls1 = new Class1(), cls2 = new Class1()
try
{
// the code using cls1, cls2
}
finally
{
if (cls1 != null || cls1 != null)
{
((IDisposable)cls1).Dispose();
((IDisposable)cls2).Dispose();
}
}