为什么我的休息不起作用?

时间:2014-01-23 15:47:32

标签: c# while-loop break

我在Microsoft Visual Studio 2010中使用C#进行编程。 在我的代码中的某个地方,我在检查行的值是否为空之后在while循环中使用break关键字。

我确信行值为null但仍然是break命令不起作用。 我该如何解决这个问题?

while (!myfile.EndOfStream)
{
    string line = myfile.ReadLine();

    if (line == null) { break; }
    else
    { ...}
}

2 个答案:

答案 0 :(得分:8)

它不为空,你得到一个空字符串或带有空格的字符串(换行符等)。 如果您将支票修改为:

,则会更好
if (string.IsNullOrWhiteSpace(line)) { break; } //checks null and white space 
                                                // or empty string

String.IsNullOrWhiteSpace随.Net framework 4.0或更高版本提供。

答案 1 :(得分:1)

不需要空检查。它已经由EndOfStream检查强制执行。它可以删除。

相关问题