5

我有一个看起来像这样的函数:

public async Task<decimal> GoToWeb(string Sym){}

通过字符串列表调用它的最佳方法是什么?

4

1 回答 1

5

这是来自 MSDN 的一篇关于使用async-await并行处理 multilpe 任务的文章。这另一个专门解决一系列任务的问题。

简而言之,您可以执行以下操作之一:

  1. 开始你的所有任务,然后开始await每个任务。它们都将并行运行,一旦它们全部完成,您的程序将继续运行。

  2. 将您的任务放入一个集合中,然后用于awaitTask.WhenAll等待多个任务。

第二种方法的示例如下:

List<string> Syms = ... // Create your list of strings
IEnumerable<Task<decimal>> tasks = from Sym in Syms select GoToWeb(Sym);
decimal[] results = await Task.WhenAll(tasks);
于 2012-08-02T18:27:58.770 回答