モダンなアプローチ:Async Main(Visual Studio 2017 Update 3以降)async開発環境がサポートしている場合、最も単純なソリューションは、Main
を
:を返すことです。 非同期コンテキスト(古いビジュアルスタジオバージョンの場合)を使用して
Main async
メソッドを使用したくない場合は、非同期コンテキストライブラリを活用してください。 Task
nugetパッケージからは人気のある選択肢です:
<code class="language-csharp">class Program { static async Task Main(string[] args) { // Your asynchronous code here... } }</code>
メインスレッドをブロックする(理想的ではない)機能しますが、非同期操作の仕上げが潜在的な問題のために一般的にはあまり好ましくなく、メインスレッドを直接ブロックします。 このアプローチでは、
:を使用します
async
Main
AsyncContext
重要なメモ:Nito.AsyncEx
<code class="language-csharp">using Nito.AsyncEx; class Program { static void Main(string[] args) { AsyncContext.Run(() => MainAsync(args)); } static async void MainAsync(string[] args) { // Your asynchronous code here... } }</code>
プロパティに直接アクセスすることは避けてください。 例外を適切に伝播します
以上がC#コンソールアプリケーションのメインメソッドで非同期コードを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。