У меня есть объект, который возвращает System.Threading.Tasks.Task:
public class MyClass 
{
    public Task GetTask(object state, CancellationToken cancellationToken)
    {
        return new Task(Execute, state, cancellationToken);
    }
    public void Execute(object context)
    {
        //do stuff
    }
}
В другом месте у меня есть List<MyClass>, поэтому я делаю следующее, чтобы получить List<Task>:
var myTaskList = myClassList.Select(p => p.GetTask(null, cancellationToken)).ToList();
Теперь, когда у меня есть List<Task>, как я могу запустить их все параллельно? Есть ли более сжатый способ кодировать это?
Спасибо!