Simple way to run methods asynchronously in .NET 4?
===

This is a simple .NET 4 application. Here's the code I want to run:

    string username = "userfoo";
    string password = "passwordfoo";

    for (int i = 0; i < 2000; i++)
    {    
        uint matchId;
        if (!uint.TryParse(i.ToString(), out matchId))
        {
            Console.WriteLine("Invalid Match ID!");
            return;
        }
    
        Client client = new Client (username, password, matchId);
    
        // connect
        client.Connect();
    
        client.Wait();
    
        if (client.Match != null)
        {
            Console.WriteLine("Inserting match: #{0}", client.Match.match_id);
            Helpers.MatchHelper.AddMatchToDatabase(client.Match);
        }
        else
        {
            Console.WriteLine("Couldn't get match: #{0}", 1);
        }
}

Instead doing this one by one (it would take forever - 415 days nonstop according to my calculations), what's the easiest way to invoke each iteration of this for loop asynchronously? 

Most questions and articles are very old (circa 2001!) surely there must be a more modern approach?

http://msdn.microsoft.com/en-us/magazine/cc301332.aspx