在 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中文网其他相关文章!