ForEach ループ内で非同期プログラミングを使用すると、いくつかの課題が発生する可能性があります。問題を調べて解決策を探ってみましょう。
コードで、ForEach デリゲート内で async キーワードを使用しようとすると、次のエラーが発生する場合があります: 「名前 'Async' は現在のコンテキストに存在しません」 ."
その理由は、List
この問題を解決するには、タスクの非同期の性質を利用する、より適切なアプローチを利用できます。
using (DataContext db = new DataLayer.DataContext()) { var tasks = db.Groups.ToList().Select(i => GetAdminsFromGroupAsync(i.Gid)); var results = await Task.WhenAll(tasks); }
これこのアプローチにはいくつかの利点があります:
以上がForEach ループ内で非同期タスクを正しく実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。