Самый простой способ, вероятно, сделать это:
var taskA = someCall();
var taskB = someOtherCall();
await taskA;
await taskB;
Это особенно хорошо, если вам нужны значения результата:
var result = await taskA + await taskB;
, поэтому вам не нужно делать taskA.Result
.
TaskEx.WhenAll
может быть быстрее, чем два ждут друг за другом.я не знаю, так как я не исследовал производительность по этому вопросу, но если вы не видите проблему, я думаю, что два последовательных ожидания читаются лучше, особенно если вы хотите получить значения результата.