黑马程序员技术交流社区

标题: using 与close(),dispose()d的区别 [打印本页]

作者: 徐传任    时间: 2012-9-16 21:42
标题: using 与close(),dispose()d的区别
在ADO.Net中,using与close(),dispose()分别是怎样实现释放内存的,他们的使用与达到的效果有什么不同?

作者: 维纳斯之叶    时间: 2012-9-16 22:35
刚开始学习的时候各种不解,后来稍微了解了一点,希望与你共勉,如果有的地方不正确,敬请指出。
using在除了作用域以后会自动调用dispose,Sqlconnection、FileStream等的Dispose内部都会做这样的判断:判断有没有close,如果没有close就先close再dispose。
Dispose是直接销毁链接,在Dispose内部会调用Close方法,防止多个连接占用资源;
Close是关闭连接,关闭连接以后还可以再打开。
作者: 王荟越    时间: 2012-9-17 08:33
是的,con.close(),关闭后还可再con.open()打看,
con.close()适合在每一个连接SQL数据库之后执行,已关闭连接,
而con.Dispose要在最后执行,因为如果执行后就没了,




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2