• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > 谈C# using的用法与好处

谈C# using的用法与好处

作者:net小伙 字体:[增加 减小] 来源:互联网 时间:2017-05-28

net小伙 通过本文主要向大家介绍了c语言谈文明,c语言谈心理,冯小刚谈小鲜肉,一虎一席谈,张铁林谈感情等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

之前的一篇文章中的代码中有一个using的用法,刚开始查看了一些资料说是强制关闭对象的一个命令。今天又查了一些资料,才明白,原来using指令调用了一个方法——Dispose()方法。而Dispose()方法的作用就是释放所有的使用资源。

例:

public void ExecuteCommand( string connString, string commandString ) 
{ 
 SqlConnection myConnection = new SqlConnection( connString ); 
 SqlCommand mySqlCommand = new SqlCommand( commandString, 
  myConnection ); 
 
 myConnection.Open(); 
 mySqlCommand.ExecuteNonQuery(); 
} 
</div>

这个例子中的两个可处理对象没有被恰当的释放:SqlConnection和SqlCommand。两个对象同时保存在内存里直到析构函数被调用。

解决这个问题的方法就是在使用完命令和链接后就调用它们的Dispose:

public void ExecuteCommand( string connString, string commandString ) 
{ 
 SqlConnection myConnection = new SqlConnection( connString ); 
 SqlCommand mySqlCommand = new SqlCommand( commandString, 
  myConnection ); 
 
 myConnection.Open(); 
 mySqlCommand.ExecuteNonQuery(); 
 
 mySqlCommand.Dispose( ); 
 myConnection.Dispose( ); 
} 
</div>

使用using语句也可以很好的实现此功能,而且代码很清晰:

public void ExecuteCommand( string connString, string commandString ) 
{ 
 using ( SqlConnection myConnection = new  SqlConnection( connString )) 
 { 
  using ( SqlCommand mySqlCommand = new SqlCommand( commandString, myConnection )) 
  { 
   myConnection.Open(); 
   mySqlCommand.ExecuteNonQuery(); 
  } 
 } 
} 

</div>

当你在一个函数内使用一个可处理对象时,using语句是最简单的方法来保证这个对象被恰当的处理掉。当这些对象被分配时,会被编译器放到一个try/finally块中。

SqlConnection myConnection = null; 
 
// Example Using clause: 
using ( myConnection = new SqlConnection( connString )) 
{ 
 myConnection.Open(); 
} 
 
 
// example Try / Catch block: 
try { 
 myConnection = new SqlConnection( connString ); 
 myConnection.Open(); 
} 
finally { 
 myConnection.Dispose( ); 
} 

</div>

有时候使用try/finally块的时候会发现如果发生错误,程序不会报错。本人感觉还是使用using语句比较好。
以上就是本文的全部内容,希望对大家的学习有所帮助。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 谈C# using的用法与好处

相关文章

  • 2017-05-28C#实现获取运行平台系统信息的方法
  • 2017-05-28C# 如何在MVC3中取消备用控制器的选择
  • 2017-05-28程序中两个Double类型相加出现误差的解决办法
  • 2017-05-28FileStream常用的属性与方法总结
  • 2017-05-28C#获取web.config配置文件内容的方法
  • 2017-05-28c#远程html数据抓取实例分享
  • 2017-05-28c#汉诺塔的递归算法与解析
  • 2017-05-28C#生成Code39条形码而非条形码字体的方法
  • 2017-05-28DevExpress实现GridView当无数据行时提示消息
  • 2017-05-28C#数据结构之顺序表(SeqList)实例详解

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C#词法分析器之词法分析的使用详解
    • C#6.0中10大新特性的应用和总结
    • C#日期时间格式化小结
    • C#使用iTextSharp将PDF转成文本的方法
    • C#遍历删除字符串中重复字符
    • 仿orm自动生成分页SQL分享
    • C#控制键盘按键的常用方法
    • c#线程间传递参数详解
    • C#中关于可空类型的小知识
    • c#中多线程访问winform控件的若干问题小结

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有