This is an offshoot of Awaiting multiple Tasks with different results.
Is this (setting result variables INSIDE the task):
var cat;
var house;
var car;
var catTask = Task.Run(() => { cat = FeedCat(); } );
var houseTask = Task.Run(() => { house = SellHouse(); } );
var carTask = Task.Run(() => { car = BuyCar(); } );
await Task.WhenAll(catTask, houseTask, carTask);
considered ill-advised or un-idomatic versus this (setting result variables OUTSIDE the task)?:
var catTask = FeedCat();
var houseTask = SellHouse();
var carTask = BuyCar();
await Task.WhenAll(catTask, houseTask, carTask);
var cat = await catTask;
var house = await houseTask;
var car = await carTask;
Edit 1: For the sake of simplicity, just assume FeedCat(), SellHouse(), and BuyCar() return strings. The thrust of the question is where variable assignment is taking place.