using的几种用法

 在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也跟着关闭。它跟下面这段代码效果是一致的:

复制代码
Try
conn.Open()
Return cmd.ExecuteNonQuery()
cmd.Parameters.Clear()
Catch ex As Exception
Return False
Finally
'关闭数据库连接,销毁cmd对象
If Not IsNothing(conn) Then
conn.Close()
conn
= Nothing
End If
If Not IsNothing(cmd) Then
cmd.Dispose()
cmd
= Nothing
End If
End Try
posted @ 2012-10-26 13:00  盛开的雨季  阅读(444)  评论(0编辑  收藏  举报