IList<Task> tasks = new List<Task>();
while (currentSetp < tracingCount)
{
if (tasks.Count(i => i.IsCompleted) > 1)
{
var taskIds = tasks.Where(m => m.IsCompleted).Select(m => m.Id).ToList();
foreach (var id in taskIds)
{
tasks.Remove(tasks.Single(m => m.Id == id));
}
}
else
{
Task.WaitAny(Task.Delay(1000));
}
while (currentSetp < tracingCount)
{
if (tasks.Count(i => i.IsCompleted) > 1)
{
var taskIds = tasks.Where(m => m.IsCompleted).Select(m => m.Id).ToList();
foreach (var id in taskIds)
{
tasks.Remove(tasks.Single(m => m.Id == id));
}
}
else
{
Task.WaitAny(Task.Delay(1000));
}