ITPub博客

首页 > Linux操作系统 > Linux操作系统 > C# 中的using

C# 中的using

原创 Linux操作系统 作者:jyang57 时间:2010-06-26 16:11:44 0 删除 编辑
 using (Graphics g = Graphics.FromHwnd(IntPtr.Zero)){}

using( Graphics g ...){}是说g在超过{}这个范围就释放。using有两个作用,在这是定义非托管资源的作用范围,以便可以及时销毁系统无法自动回收的对象内存
 
如下题:

connectionString前面已定义好.

using (SqlConnection connection = new SqlConnection(connectionString)){

 

}

这个代码块执行后,connection是自动释放资源,但数据库连接还没有断开是把?

请问connection.close()与connection.Dispose()有什么区别?

 

close关闭数据库连接,open打开数据库连接。数据库连接关闭后,连接对象还存在。
if (conn.State == ConnectionState.Open)
{ conn.close(); }

Dispose是释放资源,使这个对象不再存在。是显示的销毁对象。
using会自动销毁它调用的对象。
所以数据库已经关闭了。(都Dispose了,肯定已经close了)
connection.close()关闭和数据库的链接,但是不销毁本身,不释放自己占用的资源
 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/23155850/viewspace-666727/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2010-01-09

  • 博文量
    110
  • 访问量
    164134