在ForEach 中使用非同步
嘗試在ForEach 循環中使用非同步操作時,可能會遇到類似以下錯誤的問題「當前上下文中不存在名稱'Async'。
要解決此問題,建議將清單的每個元素投影到非同步操作中。這可以透過使用 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中文網其他相關文章!