A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李晓泉 中级黑马   /  2013-3-13 12:52  /  1207 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

using 与close(),dispose()d有哪些区别?

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

3 个回复

倒序浏览
close()只是关闭SqlConnection连接,当需要时可以再重新open(),而dispose是将SqlConnection清空了,此后则不能重新打开,必须对SqlConnection重新赋值。
using表示在{}后,自动调用Dispose方法,将对象销毁。 using只能用在集成了IDispose接口的类上。
简单的说就是 close是关闭或断开,dispose是销毁。

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
Using{} 可以主动释放资源。不需要在手动写代码 close(),dispose() 。
close()是关闭连接。但并不清除对象。如果open() 还可以打开。但是对象一旦dispose()后,就清理资源,内存了。dispose()最彻底。

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
using 与close(),dispose()d有哪些区别?
using的使用当离开using的范围(就是说离开using{}括号)时,会调用dispose跟我们释放资源,
close()是关闭连接,比如数据库连接在close后还可以用open打开。
dispose()是销毁。。。一旦调用,就无法再次获取。。。
在数据库调用dispose时,会检查是否close,系统会自动帮我们调用close在进行dispose

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马