类型或命名空间名称"StreamReader"找不到
本文关键字:quot StreamReader 找不到 命名空间 类型 | 更新日期: 2023-09-27 18:10:34
我正在用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();
}
}
StreamReader
在System.IO
命名空间中。您可以在代码的顶部添加这个命名空间,方法如下:
using System.IO;
或者,您可以完全限定StreamReader
的所有实例,如下所示-
System.IO.StreamReader sr = new System.IO.StreamReader(filename);
但是这可能会变得有点乏味,特别是如果您最终在System.IO
中使用其他对象。因此,我建议使用前者。
更多关于名称空间和using
指令的信息-
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);
我不打算把答案贴出来,只是有另一个好的编程实践要指出来。
首先,回答你的问题,如果你想使用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);
}
}
}