using
此外,使用 using 静态指令可定义一种类型,在未指定类型名称的情况下即可访问该类型的静态成员。
————————————————————————————————————————————————————
看不太懂!!!直接看例子!!!
c#里的USING语句是什么意思
using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
{
dt.Load(sdr);
}
使用using语句最终生成的其实是一个try, finally代码块,在finally代码块里释放资源。要求是:为 using 语句提供的对象必须实现 IDisposable 接口。此接口提供了 Dispose 方法,该方法将释放此对象的资源。
你的问题其实可以这样解释:
在using中其实打开了一个数据库连接,然后从数据库中读取了某些数据,最后不管读取是否成功,都应该把这个数据库连接关闭掉。
传统的写法应该是在try块里打开连接并且读取,在finally块中把连接关闭掉,而由于你的sdr对象实现了IDisposable接口,所以C#允许你用using语句来代替这种写法,其实这就是一种语法糖,一种简便写法而已。
当程序运行完这个代码块(超出大括号的范围)后,sdr就会被自动关闭掉。
————————————————————————————————————————————————————————