using System.Threading.Tasks;
using System.Collections.Generic;
public static async Task Foo()
Console.WriteLine("Foo!");
public static async Task Bar()
Console.WriteLine("Bar!");
public static async Task MainAsync()
var actions = new List<Func<Task>>
var tasks = actions.Select( x => x() );
await Task.WhenAll(tasks);
public static void Main()
MainAsync().GetAwaiter().GetResult();