我正在重构一些旧代码,我有以下循环:
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
循环会是什么样子?
你能用一个if
条件替换它吗?
if (wait || worker.IsPaused)
{
Thread.Sleep(delay);
wait = false;
continue;
}
如果wait
true
则始终将其设置为false
。如果是false
,您将再次将其设置为false
。