我发现这个问题没有在这个知识库中解决,并决定添加问题和答案来帮助他人。
我正在创建一个TextReader
来使用ReadLine
逐行读取文本文件,这需要对此流的结尾进行终止检查。
TextReader TR = new TextReader("MyFile.txt");
while (!TR.EndOfStream) // fails to compile here
{
// do something
}
TextReader类不存在EndOfStream,此代码将无法编译。
答案 0 :(得分:1)
解决方案相对简单,但C#和.NET库的新手(以及编写代码的专家太快了!)可能会错过。
TextReader
类是StreamReader
的子类,后一个类为其所有子类提供了通用功能。
因此,解决方案是将读者声明为StreamReader
,然后将其实例化为TextReader
。
StreamReader TR = new TextReader("MyFile.txt");
while (!TR.EndOfStream) // it finds this property now
{
// do something
}