c# using的疑问
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# using的疑问相关的知识,希望对你有一定的参考价值。
using会自动销毁它调用的对象。所以数据库已经关闭了。(都Dispose了,肯定已经close了)
connection.close()关闭和数据库的链接,但是不销毁本身,不释放自己占用的资源
connection.Dispose(),销毁自己,释放资源。 参考技术A close关闭数据库连接,open打开数据库连接。数据库连接关闭后,连接对象还存在。
if
(conn.State
==
ConnectionState.Open)
conn.close();
Dispose是释放资源,使这个对象不再存在。是显示的销毁对象。 参考技术B 能用
using语法
是因为
SqlConnection
实现了
IDisposable
接口
如果你用反编译工具看到源码就会发现,
其实在
Dispose方法里会调用
close()
方法,
所以关闭就不需要你操心了
另外,
使用
using
后
SqlConnection
需要重新
open()
的
C#中using的一个用法
C#中using除了应用DLL之外,还可以用于及时释放资源
如: using (SqlConnection connection = new SqlConnection(ConnStr[0])) { }
using 作用是即时释放资源,括号结束后(或者出现异常报错),using括号内实例化的对象都会执行Dispose方法销毁。
以上是关于c# using的疑问的主要内容,如果未能解决你的问题,请参考以下文章