Как использовать Func или Action в цикле вместо локальных переменных? - PullRequest
0 голосов
/ 08 октября 2018

Я рефакторинг старого кода, и у меня есть следующий цикл:

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.

Будет ли это иметь смысл в данном конкретном случае?Как бы такой Func цикл, как?

1 Ответ

0 голосов
/ 08 октября 2018

Можете ли вы заменить его одним if условием?

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

Если wait равно true, вы всегда устанавливаете его на false.Если это false, вы снова установите его на false.

...