A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘吉烨 中级黑马   /  2013-11-30 14:59  /  1065 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 刘吉烨 于 2013-11-30 19:31 编辑

using语句 怎么使用 ,能详细点吗?

using(获取多个资源) 执行语句

评分

参与人数 1技术分 +1 收起 理由
V_John + 1

查看全部评分

2 个回复

倒序浏览
提供能确保正确使用 IDisposable 对象的方便语法
实例:
  1. using (System.IO.StreamReader sr = new System.IO.StreamReader(@"C:\Users\Public\Documents\test.txt"))
  2. {
  3.     string s = null;
  4.     while((s = sr.ReadLine()) != null)
  5.     {
  6.         Console.WriteLine(s);
  7.     }
  8. }
复制代码

可以将多个对象与 using 语句一起使用,但必须在 using 语句中声明这些对象,如以下示例所示:
  1. using (Font font3 = new Font("Arial", 10.0f),
  2.             font4 = new Font("Arial", 10.0f))
  3. {
  4.     // 使用font3和font4.
  5. }
复制代码

可以实例化资源对象,然后将变量传递给 using 语句,但这不是最佳做法。在这种情况下,该对象将在控制权离开 using 块之后保持在范围内,即使它可能将不再具有对其非托管资源的访问权也是如此。换句话说,再也不能完全初始化该对象。如果试图在 using 块外部使用该对象,则可能导致引发异常。由于这个原因,通常最好是在 using 语句中实例化该对象并将其范围限制在 using 块中。
  1. Font font2 = new Font("Arial", 10.0f);
  2. using (font2) // [color=Magenta]不推荐[/color]{
  3.     // 使用 font2
  4. }
  5. // font2 仍在范围
  6. //但方法调用将抛出一个异常
  7. float f = font2.GetHeight();
复制代码

评分

参与人数 1技术分 +1 收起 理由
V_John + 1

查看全部评分

回复 使用道具 举报
using共有两种应用
1、引入命名空间
2、强制资源清理
1、引入命名空间
using NameSpace;
在.NET程序中,最常见的代码莫过于在程序文件的开头引入System命名空间,其原因在于System命名空间中封装了很多最基本最常用的操作。


2、强制资源清理
用途:清理非托管资源,不受GC控制的资源。Using结束后会隐式的调用Disposable方法。
但是当对象使用using关键字的时候,必须实现IDisposable接口。其实using的使用和try-catch-finaly中,在finaly代码域调用Disposable方法效果一样。注意Using不能使用多个不同的类。


评分

参与人数 1技术分 +1 收起 理由
V_John + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马