So I'm trying to create n Tasks and run them, but I'm not sure what I'm doing wrong
class Program
{
    static void Main(string[] args)
    {
        int n = 5;
        Task[] taskList = new Task[n];
        for (int i = 0; i < n; i++)
        {
             taskList[i] = Task.Factory.StartNew(() => doStuff("Task" + i));
        }
        Task.WaitAll(taskList);
        Console.WriteLine("All threads complete");
        Console.ReadLine();
    }
    static void doStuff(string strName)
    {
        for (int i = 1; i <= 3; i++)
        {
            Console.WriteLine(strName + " " + i.ToString());
            Thread.Sleep(1000);
        }
    }
}
When running this I'm getting next(Also I don't get why it's task 5, i max number is 4):
But if I'm creating Tasks manually like this
        Task task1 = Task.Factory.StartNew(() => doStuff("Task1"));
        Task task2 = Task.Factory.StartNew(() => doStuff("Task2"));
        Task task3 = Task.Factory.StartNew(() => doStuff("Task3"));
        Task.WaitAll(task1, task2, task3);
Everything is running as intended
What am I doing wrong?
