私は次のコードを持っています、これがこれを行う正しい方法であることを確認する必要があります..それは機能し、すべてが期待するほど速くはありません..私は個々の呼び出しの時間を計りました、そして最長は実行にかかる時間の近くにはありません。
public async Task<Result[]> DoSomethingGoodAsync()
{
List<Product> productList = getproducts();
IEnumerable<Task<Result>> list =
from p in productList select DoSomethingAsync(p);
Task<Result>[] slist = list.ToArray();
return await Task.WhenAll(slist);
}
もう一度私の質問ですが、これは正しいですか?これを行うためのより良い、より効率的な方法はありますか?DoSomethingAsyncは、別の非同期メソッドを呼び出す待機可能なメソッドです。
編集:私の質問..これは、一緒に実行したい待機可能なメソッドのコレクションを構築する正しい方法ですか?
DoSomethingAysnc()の内部
scrapeResult = await UrlScraper.ScrapeAsync(product.ProductUrl);
model = this.ProcessCheckStock(model, scrapeResult, product);