while ((line = sr.ReadLine()) != null && !sr.EndOfStream)


这是行不通的。它实际上一直在循环,并且我得到一个异常,因为“ line”为空,并且已经达到了EndofStream。任何的想法?

最佳答案

如果将这两个检查放在一起,即使ReadLine()在达到EndOfStream之前为null,代码也将避免循环。以下是细分版本,但将贯穿整个流程。

while (!sr.EndOfStream)
{
   if ((line = sr.ReadLine()) != null)
   {
      //do your work here
   }
}

关于c# - 检查同一语句中的空值和流的结尾,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20763353/

10-09 20:00