Using关键字的使用

一:using语句

SqlConnection conn = new SqlConnection(connString);

try

{

conn.Open();

//……

}

finally

{

conn.Close();

}

在代码中,finally块中调用Close()方法释放连接,确保即使没有异常发生,连接也能被释放。除了使用try-catch-finally语句外,也可以通过使用using语句尽快释放资源

语法:

using(SqlConnection conn=new SqlConnection(connString))

{

//数据库操作代码

}

二 using 语句的两个作用:

①:作为关键字,using可以导入命名空间

②:作为C#语句,using可以释放对象占用的内存资源

注:

using可以让程序员不手动关闭连接对象

using释放的是托管资源还是非托管资源?

解析:

非托管,C#应用托管到.NET Framework.但是他可以释放非托管资源。

 

三 using语句原理

using可以释放对象,但并非所有的对象前都可以使用using来限制

原因:

using可以主动释放的对象都需要实现IDisable接口。

 

为什么出了using所在的{},会自动回收对象。

原因是当我们将要出{},系统自动调用了Dispose()方法。

而在DISpose方法中是这么实现的

注:Dispose方法会自动调用Close()

 

要想让一个类型可以通过using管理,该类型或者父类必须实现了IDisposable接口。

 using(SqlConnection con=new SqlConnection)

{

   //本质上自动调用了Dispose方法

}

close()dispose()区别?

解析:

close()只是关闭连接,但是通道没有销毁,dispose()不仅把连接给关闭了,而且把通道也给销毁了。

 

 

转载于:https://www.cnblogs.com/WJ-163/p/5473520.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值