如何在循环中使用 Func 或 Action 而不是局部变量?
How to use a Func or Action in a loop instead of local variables?
我正在重构一些旧代码,我有以下循环:
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
。
我正在重构一些旧代码,我有以下循环:
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
。