using System.Threading.Tasks;
public static async Task Main()
var myStuff = new string[] {"A:1", "A:2", "A:3", "B:1", "B:2", "C:1", "C:2", "C:3", "C:4"};
await Task.WhenAll(myStuff.Select(SomeMethodAsync));
static Random r = new Random();
public static async Task SomeMethodAsync(string s)
var delay = r.Next(3000);