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
但是它不会自动释放括号语句块里面的其它生成的对象
所以在
using
里面的
stream
reader
这两个不会在执行到
using
外后自动释放