次のコードでは、task1 と task2 は互いに独立しており、並行して実行できます。次の 2 つの実装の違いは何ですか?
var task1 = GetList1Async();
var task2 = GetList2Async();
await Task.WhenAll(task1, task2);
var result1 = await task1;
var result2 = await task2;
と
var task1 = GetList1Async();
var task2 = GetList2Async();
var result1 = await task1;
var result2 = await task2;
どちらか一方を選択する必要があるのはなぜですか?
編集: GetList1Async() メソッドと GetList2Async() メソッドの戻り値の型が異なることを追加したいと思います。