我发现这个问题在这个知识库中没有解决,于是决定添加问题和答案来帮助其他人。
我正在创建一个使用ReadLine逐行读取文本文件的TextReader,它需要对这个流的末尾进行终止检查。
TextReader TR = new TextReader("MyFile.txt");
while (!TR.EndOfStream) // fails to compile here
{
// do something
}TextReader类的EndOfStream不存在,此代码将不会编译。
发布于 2017-12-27 13:49:53
这个解决方案相对简单,但是对于那些刚接触C#和.NET库的人(以及那些编写代码太快的专家来说),他们可能会错过。
TextReader类是从StreamReader派生的子类,正是后者为其所有子类提供了通用功能。
因此,解决方案是将读取器声明为StreamReader,然后将其实例化为TextReader。
StreamReader TR = new TextReader("MyFile.txt");
while (!TR.EndOfStream) // it finds this property now
{
// do something
}https://stackoverflow.com/questions/47986989
复制相似问题