gpt4 book ai didi

c# - 等待数组中的第一个任务匹配条件

转载 作者:太空狗 更新时间:2023-10-29 22:18:31 27 4
gpt4 key购买 nike

我有一个 Task<bool>[] myTasks .我如何在第一个 Task 时得到通知(等待)返回 true

最佳答案

基本上,您需要保留一组未完成的任务,并重复使用 Task.WhenAny,检查结果,如果结果不是您想要的,则继续(删除该任务)正在寻找。例如:

ISet<Task<bool>> activeTasks = new HashSet<Task<bool>>(myTasks);
while (activeTasks.Count > 0)
{
Task<bool> completed = await Task.WhenAny(activeTasks);
if (completed.Status == TaskStatus.RanToCompletion &&
completed.Result)
{
// Or take whatever action you want
return;
}
// Task was faulted, cancelled, or had a result of false.
// Go round again.
activeTasks.Remove(completed);
}
// No successful tasks - do whatever you need to here.

关于c# - 等待数组中的第一个任务匹配条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40626027/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com