在C#中using一般有两种称谓,第一种是using指令,另一种是using语句;称谓不一样他们的用途也是不一样的,作为指令,它用于为命名空间创建别名或导入其他命名空间中定义的类型,详见MSDN,解释的非常清楚。
而他作为语句,用于定义一个范围,当程序执行完此范围的代码后,将此范围中的对象在末尾释放掉。
比如,
1
2
3
4
|
using
(sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
{
dt.Load(sdr);
//此处用到sdr对象
}
//此处释放sdr对象,并关闭connection对象连接
|
在这段代码中,sdr对象包含在小括号中,说明当using下的这段代码不管是执行成功或失败,只要离开了这段代码,会自动调用sdr对象的Dispose方法。CommandBehavior.CloseConnection的作用是当command对象释放时,connection也跟着关闭。它跟下面这段代码效果是一致的: