C# 8.0 の非同期ストリームとは何ですか?

王林
リリース: 2023-09-01 12:13:11
転載
1143 人が閲覧しました

C# 8.0 中的异步流是什么?

C# 8.0 では、データのストリーミング ソースをモデル化する非同期ストリームが導入されています。 通常、ストリームは要素を非同期的に取得または生成します。

シーケンスを生成するコードで、yield return を使用して要素を返すことができるようになりました

async 修飾子を使用して宣言されたメソッド。

await foreach ループを使用して、非同期ストリームを消費できます。

構文は次のとおりです:

static IEnumerable<string> Message(){
   yield return "Hello!";
   yield return "Hello!";
}
Can be replaced by IAsyncEnumerable
static async IAsyncEnumerable<string> MessageAsync(){
   await Task.Delay(2000);
   yield return "Hello!";
   await Task.Delay(2000);
   yield return "Hello!";
}
ログイン後にコピー

Example

は次のように変換されます:

Example

class Program{
   public static async Task Main(){
      await foreach (var item in MessageAsync()){
         System.Console.WriteLine(item);
      }
      Console.ReadLine();
   }
   static async IAsyncEnumerable<string> MessageAsync(){
      await Task.Delay(2000);
      yield return "Hello!";
      await Task.Delay(2000);
      yield return "Hello!";
   }
}
ログイン後にコピー

Output

Hello!
Hello!
ログイン後にコピー

以上がC# 8.0 の非同期ストリームとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート