Task-Verkettung (warten Sie, bis die vorherige Task abgeschlossen ist)

var tasks = new List<Task>();

foreach (var guid in guids)
{
    var task = new Task( ...);
    tasks.Add(task);
}

foreach (var task in tasks)
{
    task.Start();
    Task.WaitAll(task);
}

Dies wird vom UI-Thread ausgeführt. Ich muss alle Aufgaben in variablen Aufgaben nacheinander ausführen. Das Problem ist, wenn ich Task.WaitAll (Task) aufrufe, die Benutzeroberfläche einzufrieren. Wie kann ich die folgende Logik ausführen, ohne dass die Benutzeroberfläche einfriert?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage