我正在使用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();
}
}
答案 0 :(得分:5)
StreamReader
位于System.IO
命名空间中。您可以通过执行以下操作在代码顶部添加此命名空间 -
using System.IO;
或者,您可以完全限定StreamReader
的所有实例 -
System.IO.StreamReader sr = new System.IO.StreamReader(filename);
但这可能会有点单调乏味,特别是如果你最终使用System.IO
中的其他对象。所以我建议和前者一起去。
有关名称空间和using
指令 -
答案 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);