打破无限循环/正确的循环设置

时间:2014-04-29 06:07:07

标签: c# loops while-loop do-while

在我的应用程序中,我有一个带有许多数字记录的mysql db表。我正在对这些记录进行一些计算。我想在具有结束条件的循环中执行此计算。我在考虑do-while循环,但我有这样的场景:

LOOP: {
    LOOP for computing euklidian distances between chosen records
    // HERE I WOULD LIKE TO CHCECK IF MY ENDING CONDITION IS TRUE. 
    // IF YES, WHOLE LOOP WILL END, AND IF NO, IT WILL CONTINUE
    LOOP for updating table records according to euklidian distances.
}

有人可以帮我吗?

3 个答案:

答案 0 :(得分:1)

我认为你可以通过简单的无限循环和break来解决这个问题:

while (true)
{
    // do computation
    if (/* check condition */)
        break;
    // update DB
}

然后循环将运行直到满足条件。你也可以确保这不会变成无限循环......

答案 1 :(得分:1)

while (true)
{
  // some code

  if (condition)
    break; // HERE

  // some other code
}

答案 2 :(得分:0)

“Foreach”循环可能更适合您用于计算表中的每条记录。

foreach(var record in listOfRecords)
{
    //LOOP for computing euklidian distances between chosen records

    if(condition)
    {
        break;
    }

    //LOOP for updating table records according to euklidian distances.
}