相关疑难解决方法(0)

等待具有不同结果的多个任务

我有3个任务:

private async Task<Cat> FeedCat() {}
private async Task<House> SellHouse() {}
private async Task<Tesla> BuyCar() {}
Run Code Online (Sandbox Code Playgroud)

他们都需要在我的代码可以继续之前运行,我也需要每个代码的结果.结果没有任何共同之处

如何调用并等待3个任务完成然后获得结果?

.net c# task-parallel-library async-await .net-4.5

205
推荐指数
7
解决办法
8万
查看次数

如何使用异步调用的结果来水合词典?

假设我的代码如下所示:

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表达式指定为异步,但这似乎也没有解决问题.

c# async-await

15
推荐指数
4
解决办法
6480
查看次数

标签 统计

async-await ×2

c# ×2

.net ×1

.net-4.5 ×1

task-parallel-library ×1