using System.Collections.Generic;
using System.Diagnostics;
using System.Threading.Tasks;
public static void Main()
var x = AsyncMain().Result;
public static async Task<int> AsyncMain()
Console.WriteLine("Hello World");
var sw = Stopwatch.StartNew();
var tasks = Enumerable.Range(1, 100).Select(async (x) => { await Task.Delay(500); Console.WriteLine(x); }).ToList();
await Task.WhenAll(tasks);
Console.WriteLine("Execution is {0}", sw.ElapsedMilliseconds);