C# のコンソール アプリケーションでの 'async' の使用 [重複]
C# で 'async' メソッドを使用する場合、次のルールが適用されます。親指は、非同期操作がアプリケーション全体で一貫して処理されるようにすることです。これは、「非同期」メソッドが使用される場合、エントリ ポイントに至るまで、そのメソッドも非同期としてマークされる必要があることを意味します。
ただし、コンソール アプリケーションでは、Main メソッドがエントリとして機能します。ポイントであり、コンパイルエラーのため「非同期」にすることはできません。ここで疑問が生じます: コンソール アプリケーションで非同期操作を効果的に処理するにはどうすればよいですか?
1 つのアプローチは、Main メソッドで同期メソッドを使用し、非同期操作の結果を待つことです:
static void Main() { MainAsync().Wait(); } static async Task MainAsync() { ... }
このメソッドは、非同期操作の完了を待ってから続行し、アプリケーションが終了しないようにします。
あるいは、独自の非同期コンテキストを使用して、コンソール アプリケーションでの非同期操作の実行を管理できます。
static void Main() { AsyncContext.Run(() => MainAsync()); } static async Task MainAsync() { ... }
このアプローチでは、コンパイルエラーが発生しない main メソッド。 AsyncContext クラスは、非同期操作の実行をラップし、コンソール アプリケーションで非同期操作を処理する一貫した方法を提供します。
どちらのアプローチも、コンソール アプリケーションの特定の要件と設定に応じて、非同期操作を処理するための実行可能なオプションです。開発者。これらの原則に従うことで、コンソール アプリケーションが適切に構造化され、非同期操作を効率的に処理できるようになります。
以上がC# コンソール アプリケーションで非同期メソッドを効果的に使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。