Tasks rarely finish in the order you started them. Since .NET 9, `Task.WhenEach` lets you process them as they complete with `await foreach`. No `WhenAny` loop. No removing finished tasks yourself. https://learn.microsoft.com/dotnet/api/system.threading.tasks.task.wheneach
0 reposts1 like