I need to run tasks in parallel and transfer about 3-5 parameters to them, but now I transfer 2 parameters to the task, and as a result, I always see the value 100 in the console.
Tell me what am I doing wrong? and how to correctly pass parameters to the task?
class Program
{
    static void Main(string[] args)
    {
        /// Init
        string file_name = "unknown.dat";
        Action<string, int> action = (msg, count) => Load(msg, count);
        /// For
        for (int i = 0; i < 100; i++)
        {   
            Task.Factory.StartNew(() => action(file_name, i)); 
        }
        /// End
        Console.Read();
    }
    public static void Load(string aFileName, int aCount)
    {
        Console.WriteLine("Index: {0} ", aCount);
    }
}

 
    