ForEach での非同期の使用
ForEach ループ内で非同期操作を利用しようとすると、次のようなエラーを受け取る問題が発生する可能性があります。 「名前「Async」は現在のコンテキストに存在しません。」これは、List
この問題を解決するには、リストの各要素を非同期操作に投影することをお勧めします。これは、Select メソッドを使用して、リスト内の要素に対応する非同期操作をそれぞれ表すタスクのコレクションを作成することで実現できます。
using (DataContext db = new DataLayer.DataContext()) { var tasks = db.Groups.ToList().Select(i => GetAdminsFromGroupAsync(i.Gid)); var results = await Task.WhenAll(tasks); }
このアプローチには、いくつかの利点があります。
以上がC# の ForEach ループ内で非同期操作を適切に使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。