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的疑问的主要内容,如果未能解决你的问题,请参考以下文章

asp.net C# 中关于 var 类型的疑问?

ASP.NET C#中Radiobutton控件的疑问

ASP.NET C#中Radiobutton控件的疑问

C#中使用Redis不同数据结构的内存占有量的疑问和对比测试

C#中Byte转二进制疑问

C#中实体类的get、set的疑问,请大侠解答