如何转到While循环的下一个值

时间:2013-02-04 12:48:54

标签: c# winforms visual-studio-2010

我有一个While loop,读取line file.txt。我还有一个名为VerifyPhoto的方法返回true/false如果返回值为while loop,我想转到false的下一个项目。我怎么能这样做?我尝试了breakreturn,但它只是将所有内容留回form ...

while (!reader.EndOfStream)
  {
     if(VerifyPhoto(filed.matriculation) == false)
        {
          //go to the next line of the file.txt
        }
  }

6 个答案:

答案 0 :(得分:9)

您可能希望熟悉其他控制语句:continue

[编辑]最新版本的文档:continue,谢谢Jeppe。

答案 1 :(得分:1)

continue;(还有一些可以让它成为30个字符)

答案 2 :(得分:0)

根据您的实际代码,您可以简单地反转布尔测试,因此只有在VerifyPhoto返回true时才会执行某些操作:

while (...)
{
    if(VerifyPhoto(filed.matriculation))
    {
        // Do the job
    }
}

答案 3 :(得分:0)

continue语句将控制传递给它出现的封闭迭代语句的下一次迭代

while (!reader.EndOfStream)
{
    if(VerifyPhoto(filed.matriculation) == false)
    {
        continue;
        //go to the next line of the file.txt
    }
}

答案 4 :(得分:0)

我错过了你做这件事的方式吗? 你在开始循环之前读了第一行吗? 如果是这样,你不需要像

这样的东西
**string line;**
while (!reader.EndOfStream)
  {
     if(VerifyPhoto(filed.matriculation) == false)
        {
          //go to the next line of the file.txt
          **line = file.ReadLine();**
        }
  }

答案 5 :(得分:0)

如果您尝试逐行阅读,则File.ReadLines可能会有用。

您正在寻找的是continue声明。

string myFile = @"c:\path\to\my\file.txt";

foreach(string line in File.ReadLines(myFile))
{
    //Do stuff
    //if(!VerifyPhoto())
    //    continue;
    //Do other logic
}