Attendre pour la liste des tâches

Je suis en train de faire quelque chose comme ceci:

foreach (var o in ObjectList) 
{ 
    CalculateIfNeedToMakeTaskForO(o);

    if (yes) 
        TaskList.Add(OTaskAsync());
}

Maintenant, je voudrais attendre pour l'ensemble de ces tâches à effectuer.
En plus de faire les

foreach(var o in ObjectList)
{
    Result.Add("result for O is: "+await OTaskAsync());
}

Est-ce que je pourrais faire? (de meilleure qualité, plus élégant, plus "correct")

source d'informationauteur ctlaltdefeat