代码之家  ›  专栏  ›  技术社区  ›  Ivan-Mark Debono

如何在循环中使用Func或Action而不是局部变量?

  •  0
  • Ivan-Mark Debono  · 技术社区  · 6 年前

    我正在重构一些旧代码,我有以下循环:

    while (true)
    {
        if (stopLoop.IsStopRequested || ct.IsCancellationRequested)
        {
            break;
        }
    
        if (worker.IsPaused)
        {
            Thread.Sleep(delay);
            continue;
        }
    
        if (wait)
        {
            Thread.Sleep(delay);
            wait= false;
            continue;
        }
    
        //much more code here...
    }
    

    我想把 isPaused wait 在一个街区,我想用 Func

    在这种特殊情况下这有意义吗?这样的人怎么会 循环式?

    1 回复  |  直到 6 年前
        1
  •  3
  •   Backs    6 年前

    你能换一个吗 if

    if (wait || worker.IsPaused)
    {
        Thread.Sleep(delay);
        wait = false;
        continue;
    }
    

    如果 wait true 你总是把它设置为 false . 如果是的话 你将把它设置为