Czy zadanie. Gdy wszystkie wymagane w przykładowym kodzie?

W poniższym kodzie zadanie 1 i zadanie 2 są od siebie niezależne i mogą działać równolegle. Jaka jest różnica między następującymi dwiema implementacjami?

var task1 = GetList1Async();
var task2 = GetList2Async();

await Task.WhenAll(task1, task2);

var result1 = await task1; 
var result2 = await task2; 

i

var task1 = GetList1Async();
var task2 = GetList2Async();

var result1 = await task1; 
var result2 = await task2; 

Dlaczego powinienem wybrać jeden nad drugim?

Edycja: Chciałbym dodać, że metody zwracania GetList1Async () i GetList2Async () są różne.

questionAnswers(2)

yourAnswerToTheQuestion