检查while循环是否在C#的第一次迭代中

时间:2014-11-18 08:32:26

标签: c# while-loop

我如何检查它是否是我在C#中while loop的第一次迭代?

while (myCondition)
{
   if(first iteration)
     {
       //Do Somthin
     }

   //The rest of the codes
}

10 个答案:

答案 0 :(得分:8)

bool firstIteration = true;
while (myCondition)
{
   if(firstIteration )
     {
       //Do Somthin
       firstIteration = false;
     }

   //The rest of the codes
}

答案 1 :(得分:2)

你可以将一些事情从循环中移开。如果" Do Somthin"只保证完全相同。不会更改myConditionmyCondition测试是纯粹的,即没有副作用。

if (myCondition)
{
  //Do Somthin
}
while (myCondition)
{
   //The rest of the codes
}

答案 2 :(得分:1)

使用计数器:

int index = 0;
while(myCondition)
{
   if(index == 0) {
      // Do something
   }
   index++;
}

答案 3 :(得分:0)

这样的东西?

var first=true;
while (myCondition)
{
   if(first)
     {
       //Do Somthin
     }

   //The rest of the codes
first=false
}

答案 4 :(得分:0)

定义一个布尔变量:

bool firstTime = true;

while (myCondition)
{
   if(firstTime)
     {
         //Do Somthin
         firstTime = false;
     }

   //The rest of the codes
}

答案 5 :(得分:0)

您可以通过变通办法来实现,例如:

boolean first = true;

    while (condition) 
    {
        if (first) {
            //your stuff
            first = false;
        }
    }

答案 6 :(得分:0)

尝试这样的事情:

bool firstIteration = true;
while (myCondition)
{
   if(firstIteration)
     {
       //Do Something
       firstIteration = false;
     }

   //The rest of the codes
}

答案 7 :(得分:0)

我建议使用计数器变量或for循环。

E.G。

int i = 0;
while (myCondition)
{
   if(i == 0)
     {
       //Do Something
     }
i++;
   //The rest of the codes
}

答案 8 :(得分:0)

你可以在循环之外制作一个布尔

 bool isFirst = true;
 while (myCondition)
 {
    if(isFirst)
      {
         isFirst = false;
        //Do Somthin
      }
    //The rest of the codes
 }

答案 9 :(得分:-1)

仍然学习,但是这种方式来到了我身边,我自己没有使用过,但是我计划测试并可能在我的项目中实现:

int invCheck = 1;

if (invCheck > 0)
    {
        PathMainSouth(); //Link to somewhere
    }
    else
    {
        ContinueOtherPath(); //Link to a different path
    }

    static void PathMainSouth()
    {
        // do stuff here
    }

    static void ContinueOtherPath()
    {
        //do stuff
    }