so i have two methods that are returning different data types. i want to run them at the same time. and get result from both of them.
public async Task<int> Ta1()
{
await Task.Delay(100);
return 100;
}
public async Task<string> Ta2()
{
await Task.Delay(200);
return "hello";
}
and main function where a create list of tasks and call it via Task.WhenAll
var tasks = new List<Task>();
tasks.Add(Ta1());
tasks.Add(Ta2());
await Task.WhenAll(tasks);
var a1= //get value from Ta1;
var a2 = //get value from Ta2;
You can do it like this
var tasks = new List<Task>();
var ta1 = Ta1();
var ta2 = Ta2();
tasks.Add(ta1);
tasks.Add(ta2);
await Task.WhenAll(tasks);
var a1 = ta1.Result;//get value from Tel1;
var a2 = ta2.Result;//get value from Tel2;