Verwenden von Async mit ForEach
Beim Versuch, asynchrone Vorgänge innerhalb einer ForEach-Schleife zu verwenden, kann es zu dem Problem kommen, dass ein ähnlicher Fehler wie folgt auftritt „Der Name ‚Async‘ existiert im aktuellen Kontext nicht.“ Dies liegt daran, dass List
Um dieses Problem zu beheben, wird empfohlen, jedes Element der Liste in einen asynchronen Vorgang zu projizieren. Dies kann erreicht werden, indem mit der Select-Methode eine Sammlung von Aufgaben erstellt wird, die jeweils einen asynchronen Vorgang darstellen, der einem Element in der Liste entspricht.
using (DataContext db = new DataLayer.DataContext()) { var tasks = db.Groups.ToList().Select(i => GetAdminsFromGroupAsync(i.Gid)); var results = await Task.WhenAll(tasks); }
Dieser Ansatz bietet mehrere Vorteile:
Das obige ist der detaillierte Inhalt vonWie verwende ich asynchrone Vorgänge innerhalb einer ForEach-Schleife in C# ordnungsgemäß?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!