每次动作触发for循环只能休眠一次

时间:2016-06-30 11:58:15

标签: c#

for (int a = 0; a < Count; ++a)
{
    if (my if)
    {
        action;
        sleep;
    }
}

这是我目前的代码。当我这样做时,为每个循环成员睡觉。但我希望它只能在整个循环中睡一次。我该怎么办?

编辑:我想我不是很清楚。我希望我的所有计数都能在同一时间内完成并且睡觉。每当Count开始执行操作时,上面的代码就会休眠。

4 个答案:

答案 0 :(得分:1)

你的意思是......

sleep;

for (int a = 0; a < Count; ++a)
{
    if (my if)
    {
        action;
    }
}

for (int a = 0; a < Count; ++a)
{
    if (a == 0)
    {
        sleep;
    }
    action;
}

答案 1 :(得分:1)

bool isSleepDone = false;
for (int a = 0; a < Count; ++a)
{
  if (my if)
  {
    action;

    if(!isSleepDone)    
    {
      sleep;
      isSleepDone = true;
    }
  }
}

答案 2 :(得分:0)

一个简单的布尔值:

bool slept = false;
for (int a = 0; a < Count; ++a)
{
    if (myif)
        {
            action;
            if (!slept)
            {
                sleep;
                slept = true;
            }
        }
}

答案 3 :(得分:0)

这也有效:

for (int a = 0; a < Count; ++a)
{
    if (my if)
    {
        action;
        if (a == 0)
        {
            sleep;
        }
    }
}