黑马程序员技术交流社区

标题: 关于using语句的一些问题 [打印本页]

作者: .NET初学者    时间: 2014-1-11 12:47
标题: 关于using语句的一些问题
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;           //using指令
namespace _9._15._2_using语句的示例
{
   class Program
    {
       static void Main(string[] args)
       {
           //using语句
           using (TextWriter tw = File.CreateText("Lincoln.txt"))
           {
                tw.WriteLine("Four scoreand seven years ago...");
           }
           //using语句
           using (TextReader tr = File.OpenText("Lincoln.txt"))
            {
                string inputString;
                while ((inputString =tr.ReadLine()) != null)
                {
                   Console.WriteLine(inputString);
                }
           }
           Console.ReadKey();
       }
    }
}
有以下几个问题请各位大神帮帮忙:
1、using (TextWriter tw = File.CreateText("Lincoln.txt"))这句话是什么意思?向Lincoln.txt文本文件中写入的内容是赋给了tw还是存到了其它地方?而tw是变量还是对象呢?
2、 tw.WriteLine("Four score and seven years ago,...");为何用tw调用WriteLine方法,而不用Console呢?他们两个有什么区别?

作者: 念~    时间: 2014-1-11 22:23
我没有记错的话这个应该是文件流里面内容,tw 是一个对象,流对象,用来在磁盘上面写文本文件用的,console这个是控制台里面打印中的类,两个操作的对象是不一样的,WriteLine 是通过流向磁盘文本中写入类容的。第一句之所以用using括起来,是因为操作的和磁盘文件有关,是非托管资源,GC搞不定的东西,需要手动释放连接,但是FileWrite实现了IDispable(记不清拼写了),接口,通using后,会自动调用dispose方法回收资源的。




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