Вы можете поддерживать список задач любого типа, который реализует IEnumerable<T>
, тогда как List<T>
всегда является хорошим выбором для внутренней реализации.
Предполагая, что tasks
является экземпляром IEnumerable<Task>
, каждый раз, когда вам нужно выполнить задачи, вы можете упорядочить их методом OrderBy:
foreach(var task in tasks.OrderBy(t => t.Priority))
{
task.Execute();
}
Кроме того, вы можете использовать синтаксис LINQ:
var orderedTasks = from t in tasks
orderby t.Priority
select t;
foreach(var task in orderedTasks)
{
task.Execute();
}