Ⅰ. はじめに
C# 7.1の新機能の1つに「非同期Main」があります。
C# 7までは Main関数で async/await は利用不可でした。
C# 7 まで
static void Main(string[] args) => MainAsync().Wait(); static async Task MainAsync() { await Task.Delay(1); Console.WriteLine("Hello MainAsync"); }
C# 7.1 の「非同期Main」
static async Task Main(string[] args) { await Task.Delay(1); Console.WriteLine("Hello MainAsync"); }
Ⅱ. 非同期Mainを使う方法
C#7.1 を有効にする必要があります。
.csproj を開き <LangVersion> を追加するだけです。
<Project> <PropertyGroup> ... <LangVersion>7.1</LangVersion> ... </PropertyGroup> </Project>
※2017/12/14追記
VisualStudioの画面で、プロジェクトのプロパティ→ビルド→詳細設定→言語バージョン→C# 7.1を選択
でも設定できます。
Ⅲ. 実行結果