写入文本文件会给我带来错误

时间:2010-11-09 21:53:27

标签: c# file-io compiler-errors

下面的代码给出了三个编译器错误。它们如下:

  1. 找不到类型或命名空间名称'TextWriter'(您是否缺少using指令或程序集引用?)
  2. 当前上下文中不存在名称“文件”
  3. 当前上下文中不存在名称'filename'
  4. 任何人都可以澄清为什么会发生这些错误,以及我如何解决这些错误?

    private void button1_Click(object sender, EventArgs e)
    {
       using (TextWriter writer = File.CreateText(filename.txt)) {
          writer.WriteLine("First name: {0}", textBox1.Text);
          writer.WriteLine("Last name: {0}", textBox2.Text);
          writer.WriteLine("Phone number: {0}", maskedTextBox1.Text);
          writer.WriteLine("Date of birth: {0}", textBox4.Text);
       } 
    }
    

3 个答案:

答案 0 :(得分:1)

首先,您缺少System.IO命名空间的using指令,这是TextWriterFile类所在的位置。在文件顶部添加以下行,这应解决前两个错误:

using System.IO;

其次,File.CreateText()方法将字符串作为参数。在您的代码中,“filename.txt”不是字符串。请改用此行:

using (TextWriter writer = File.CreateText("filename.txt") {

答案 1 :(得分:1)

File.CreateText(filename.txt)

如果文件名是文件名,则需要将文件名放在引号中,否则请使用正确的变量名。

e.g。

File.CreateText("filename.txt");

File.CreateText(path);

正如甜甜圈所说,将using System.IO添加到文件顶部。

答案 2 :(得分:1)

对于错误1和错误2,请确保您是using System.IO;

对于错误3,如果要读取的文件的名称是“filename.text”,请确保如此放置引号:

using (TextWriter writer = File.CreateText("filename.txt"))

因为否则它会尝试查找变量filename和属性txt而不是字符串“filename.txt”。