using System.Collections.Generic;
using System.Threading.Tasks;
public static async Task Main()
var tm = new TaskManager();
public class TaskManager{
List<Task> l = new List<Task>();
for(var i = 0; i < 10; i++){
l.Add(new Task(async () => { await new MyTask().Log(capturedI);}));
Console.WriteLine("Added task {0}", i);
Console.WriteLine("Waiting task completion");
Console.WriteLine("Complete!");
public async Task Log(int i){
Console.WriteLine("Test " + i + " completed!");