我有3个任务:
private async Task<Cat> FeedCat() {}
private async Task<House> SellHouse() {}
private async Task<Tesla> BuyCar() {}
Run Code Online (Sandbox Code Playgroud)
他们都需要在我的代码可以继续之前运行,我也需要每个代码的结果.结果没有任何共同之处
如何调用并等待3个任务完成然后获得结果?
假设我的代码如下所示:
public async Task<string> DoSomethingReturnString(int n) { ... }
int[] numbers = new int[] { 1, 2 , 3};
Run Code Online (Sandbox Code Playgroud)
假设我想创建一个字典,其中包含调用DoSomethingReturnString与此类似的每个数字的结果:
Dictionary<int, string> dictionary = numbers.ToDictionary(n => n,
n => DoSomethingReturnString(n));
Run Code Online (Sandbox Code Playgroud)
这是行不通的,因为DoSomethingReturnString返回Task<string>而不是string.intellisense建议我尝试将我的lambda表达式指定为异步,但这似乎也没有解决问题.