黑马程序员技术交流社区

标题: using 语句 [打印本页]

作者: 心灵苦旅    时间: 2014-3-28 10:13
标题: using 语句
比如在定义SqlConnection变量时,会使用到
using (SqlConnection con=new SqlConnection())
{
}
那在什么情况下需要使用using ,什么情况不需要使用



作者: 张变    时间: 2014-3-28 10:19
链接数据库,或者硬盘资源进行数据读写时,由于资源链接量的问题,用完后要释放资源即dispose()方法,using表示用完后就释放。凡是能点出dispose方法的对象均需using。
作者: 白夜行    时间: 2014-3-28 10:19
一般实现了IDisposible接口的类就需要用using,为了释放资源。
作者: 诠释♂回忆    时间: 2014-3-28 11:20
建立连接时,如果执行的是把数据库的数据取回本地的方式需要用到using(关闭连接并且释放空间),如果是在线读取数据库数据的情况,就不需要用到using了(主要是DataReader对象)。不知LZ是否同意这样的解释?
作者: 心灵苦旅    时间: 2014-3-28 12:39
本帖最后由 心灵苦旅 于 2014-3-28 12:49 编辑
白夜行 发表于 2014-3-28 10:19
一般实现了IDisposible接口的类就需要用using,为了释放资源。

谢啦,可不可以列举一些常用的实现了IDisposible接口的类呀
作者: 心灵苦旅    时间: 2014-3-28 12:48
张变 发表于 2014-3-28 10:19
链接数据库,或者硬盘资源进行数据读写时,由于资源链接量的问题,用完后要释放资源即dispose()方法,usi ...

确实,这倒是个好方法,谢谢啦
看了下 IDisposable 的定义,
  1.     // 摘要:
  2.     //     定义一种释放分配的资源的方法。
  3.     [ComVisible(true)]
  4.     public interface IDisposable
  5.     {
  6.         // 摘要:
  7.         //     执行与释放或重置非托管资源相关的应用程序定义的任务。
  8.         void Dispose();
  9.     }
复制代码




作者: 心灵苦旅    时间: 2014-3-28 12:50
诠释♂回忆 发表于 2014-3-28 11:20
建立连接时,如果执行的是把数据库的数据取回本地的方式需要用到using(关闭连接并且释放空间),如果是在线 ...

虽然不同意,还是谢谢了{:2_36:}
作者: 诠释♂回忆    时间: 2014-3-28 13:33
心灵苦旅 发表于 2014-3-28 12:50
虽然不同意,还是谢谢了

好吧,我需要再学习学习
作者: 心灵苦旅    时间: 2014-3-28 14:11
诠释♂回忆 发表于 2014-3-28 13:33
好吧,我需要再学习学习

一起努力:handshake




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