using (StreamWriter sw = File.CreateText(FILE_NAME))
        {
            sw.WriteLine("This is a test");
            sw.WriteLine("我能写这些信息");
            sw.Close();
        }
这里面的sw.close();是关闭当前的streamwriter的对象跟基础流,但是不写它也好像没有什么影响,写上它有什么好处??如果不关闭当前的streamwriter的对象跟基础流有什么关系吗?

解决方案 »

  1.   

    不你写这句,然后双击打开FILE_NAME看看是什么结果。
    或者删除、移动、重命名
      

  2.   

    using块会自动调用对象的Dispose方法,所以这里的Close不写也可以...但是写上是个好习惯...
      

  3.   

    使用using后,clr会自动进行内存释放,不担心内存泄露问题,如果你自己写sw.Close();也没错,无非就是显示关闭,对程序没影响!
      

  4.   

    using (StreamWriter sw = File.CreateText(FILE_NAME))
    这句话已经关闭了
      

  5.   

    using有两个主要用途:
    作为语句,用于定义一个范围,在此范围的末尾将释放对象,为 using 语句提供的对象必须实现 IDisposable