无法找到类型或命名空间名称“StreamReader”

时间:2015-08-30 02:19:44

标签: c# .net streamreader

我正在使用C#中的StreamReader。我收到了错误

  

“无法找到类型或命名空间名称”StreamReader“”

我不知道我做错了什么。

using System.IO;
using System;
class Perfect
{
static void Main()
    {
    string filename = @"marks.cvs";
    StreamReader sr = new StreamReader(filename);
    string line = sr.ReadLine();
    Console.WriteLine(line);    
    sr.Close();
    }
}

3 个答案:

答案 0 :(得分:5)

StreamReader位于System.IO命名空间中。您可以通过执行以下操作在代码顶部添加此命名空间 -

using System.IO;

或者,您可以完全限定StreamReader的所有实例 -

System.IO.StreamReader sr = new System.IO.StreamReader(filename);

但这可能会有点单调乏味,特别是如果你最终使用System.IO中的其他对象。所以我建议和前者一起去。

有关名称空间和using指令 -

的更多信息

https://msdn.microsoft.com/en-us/library/0d941h9d.aspx

https://msdn.microsoft.com/en-us/library/sf0df423.aspx

答案 1 :(得分:2)

我不打算发布答案,但只是指出了另一个好的编程习惯。

首先,要回答您的问题,如果您想使用StreamReader,您需要告诉编译器在哪里找到它。在.cs文件的顶部添加using System.IO.StreamReader;即可。

其次,在使用流时,最好将您的交互包装在using(){}中。我编写代码的方式是:

using System;
using System.IO;
using System.IO.StreamReader;

class Perfect
{
    static void Main()
    {
        const string filename = @"marks.cvs";
        using (var sr = new StreamReader(filename))
        {
            string line = sr.ReadLine();
            Console.WriteLine(line);
        }
    }
}

答案 2 :(得分:1)

StreamReader需要您缺少的命名空间。将这两个添加到.cs文件的顶部。

using System;
using System.IO;
StreamReader sr = new StreamReader(filename);

在文件顶部添加命名空间始终是最佳做法。但是,您可以添加@iliketocode提及的System.IO.StreamReader

System.IO.StreamReader sr = new System.IO.StreamReader(filename);