在 C# 中,可以使用 break
、return
或者设置标志位来终止异步循环。
-
使用
break
关键字:当需要提前结束异步循环时,可以使用break
语句跳出循环体。示例如下所示:async Task MyAsyncLoop()
{
while (true) // 无限循环
{
await SomeTask(); // 等待任务完成
if (condition) // 判断条件
break; // 终止循环
}
} -
使用
return
返回值:将异步函数定义为有返回类型的(非 void),并且在达到特定条件后使用return
语句返回。这样会立即终止异步函数的执行。示例如下所示:async Task<int> MyAsyncFunction(bool condition)
{
int result = 0;
for (int i = 0; i < 5; i++)
{
await SomeTask(); // 等待任务完成
if (condition && i == 3) // 判断条件
return result; // 终止异步函数并返回结果
result += i;
}
return result;
} -
设置标志位:通过设置一个布尔变量作为标志位,控制循环的进行与否。示例如下所示:private bool isRunning = true;
async Task MyAsyncLoop()
{
while (isRunning) // 根据标志位判断是否继续循环
{
await SomeTask(); // 等待任务完成
if (condition) // 判断条件
isRunning = false; // 修改标志位,终止循环
}
}