6

私はListそれTask<bool>を反復したいのですが、待っている結果に応じて、続行するか中断するかを決定しますが、皮肉なことにforeach、タスクを実行するだけで await キーワードが機能しません

これが私のコードです

private async void Execute(object sender, EventArgs e)
{
    var tList = new List<Task<bool>> { Method1(), Method2()};

    foreach (var task in tList)
    {
        var result = await task;

        if(!result)
            break;
    }
}

public async Task<bool> Method1()
{
    await Task.Delay(1000);
    Console.WriteLine("Method1");
    return false;
}

public async Task<bool> Method2()
{
    await Task.Delay(1000);
    Console.WriteLine("Method2");
    return true;
}

結果 : 両方の関数が実行されます。

質問: どうすれば await 内部で使用できforeachますか?.

そして、前もって感謝します。

4

1 に答える 1