所以我有两种返回不同数据类型的方法。我想同时运行它们。并从两者中得到结果。
public async Task<int> Ta1()
{
await Task.Delay(100);
return 100;
}
public async Task<string> Ta2()
{
await Task.Delay(200);
return "hello";
}
主函数创建任务列表并通过 Task.WhenAll 调用它
var tasks = new List<Task>();
tasks.Add(Te1());
tasks.Add(Te2());
await Task.WhenAll(tasks);
var a1= //get value from Tel1;
var a2 = //get value from Tel2;
你可以这样做
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;