ホームページ >バックエンド開発 >C++ >C# の Main() メソッドから非同期メソッドを呼び出すにはどうすればよいですか?

C# の Main() メソッドから非同期メソッドを呼び出すにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-29 21:22:11693ブラウズ

How Can I Call Asynchronous Methods from the Main() Method in C#?

Main() からの非同期メソッドの呼び出し

C# に導入された新機能の 1 つは、非同期プログラミングのサポートです。これにより、メイン スレッドをブロックすることなく、長時間実行される操作を実行できるようになり、ユーザー インターフェイスの応答性が向上します。

提供されたコード サンプルには、Go() という非同期メソッドがあります。 Main() メソッドから呼び出します。これを行うには、次の 2 つのアプローチのいずれかを使用できます。

オプション 1: async/await を使用する (C# 7.1 以降)

C# 7.1 以降では、 async キーワードを使用して、Main() メソッドを非同期にすることができます。これにより、メイン スレッドをブロックせずに Go() メソッドの結果を待つことができます。

static async Task Main(string[] args)
{
    test t = new test();
    await t.Go();
    Console.WriteLine("finished");
    Console.ReadKey();
}

オプション 2: ブロックを使用する (7.1 より前の C# バージョンの場合)

7.1 より前のバージョンの C# では、Go() メソッドが完了するまで Wait() メソッドを使用してメイン スレッドをブロックできます。

static void Main(string[] args)
{
    test t = new test();
    t.Go().Wait();
    Console.WriteLine("finished");
    Console.ReadKey();
}

コード サンプルで使用した、コールバックを伴うアプローチは必要ありません。 async/await パターンまたは Wait() メソッドを使用すると、Main() から簡単な方法で非同期メソッドを呼び出すことができます。

以上がC# の Main() メソッドから非同期メソッドを呼び出すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。