using System;class C : IDisposable
{  
     {
      public void UseLimitedResource()
        {
          Console.WriteLine("Using limited resource...");
        }
      void IDisposable.Dispose()
        {
          Console.WriteLine("Disposing limited resource.");
        }
   }
  class Program
  {
     static void Main()
       {
          using (C c = new C())
       {
     c.UseLimitedResource();
  }
      Console.WriteLine("Now outside using statement.");
      Console.ReadLine();
  }

这个程序,我始终不明白的是Using 的用法,希望有高人能指点。。谢谢了。。
void IDisposable.Dispose()  还有这句,是释放资源的吗?
谢谢了!

解决方案 »

  1.   

    Using 就是自动释放资源啦 如果你是读文件什么操作的话 退出Using 的作用域 不用你自己显示的去close 也会自动给你释放资源
      

  2.   

    http://msdn.microsoft.com/zh-cn/library/yh598w02(VS.80).aspx你的源码照搬
      

  3.   

    实现了IDisposable 接口的类,都可以使用using
      

  4.   

    using语句,定义一个范围,在范围结束时处理对象。
    当在某个代码段中使用了类的实例,只要离开了这个代码段就自动调用这个类实例的Dispose。
    如using (A a= new A())
      

  5.   

    执行完using作用的代码段之后
    会自动通知CLR,()里的资源可以释放。。会调用Dispose,但不是立刻就清理内存
      

  6.   

    using是否就是trycatch finally呢?lz可以看看
      

  7.   

    在using{}之外就会自动释放资源,读写文件也会重用using{}的
      

  8.   

    类似于open();……close();其实自己习惯如何用就怎样用啦!
      

  9.   

    1引入命名空间。
    2定义一个范围,结束时,处理对象。
    3using别名,当同一个cs引用了两个不同的命名空间,但两个命名空间都包括了一个相同名字的类型,当需要用到这个类型的时候,就每个地方都要用详细命名空间的办法来区分这些相同名字的类型。用别名的方法会更简洁,用到哪个类就给哪个类做别名声明就可以了。
      

  10.   

    using生成的对象,只在using之内有效,出using就无效了,就这么简单。
      

  11.   


    这儿的using,编译之后其实就是
    Try
    {
     C c = new C();
    }
    Finally
    {
     c.dispose();
    }手动释放非托管资源。
    楼主可以通过ILDasm.exe自己看一看~
      

  12.   

    最上边的using是引入命名空间(类似C/C++的include, 但不完全一样)
    下边的using(){}是用来释放资源的
      

  13.   

    using有三种用法:
    一:using指令。using + 命名空间名字。
    二:using别名。using + 别名。
    三:using语句,定义一个范围,在范围结束时处理对象。
    楼主用的就是最后一种类型。一般使用using时,在读写文件流,和打开关闭数据库对象。
      

  14.   

    额,不错
    lz用的就是最后一种,当{}完了之后,结束对象生命,diapose掉
      

  15.   

    using 定义一个范围,将在此范围之外释放一个或多个对象。