Skip to main content

Starting an async task in C# 6 from Main



To start an async method from Main, do something like

static int Main() { return DoAsyncWork().GetAwaiter().GetResult();
}


As of C# 7.1, can you also write

static async Task<int> Main() { // This could also be replaced with the body
   
// DoAsyncWork, including its await expressions:
   
return await DoAsyncWork();
} or the following if Main returns void static async Task Main() { await SomeAsyncMethod();
}

Comments