Heim  >  Artikel  >  Backend-Entwicklung  >  Was sind asynchrone Streams in C# 8.0?

Was sind asynchrone Streams in C# 8.0?

王林
王林nach vorne
2023-09-01 12:13:111105Durchsuche

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

C# 8.0 führt asynchrone Streams ein, die eine Streaming-Datenquelle modellieren Streams rufen Elemente normalerweise asynchron ab oder generieren sie.

Code, der Sequenzen generiert, kann jetzt yield return verwenden, um Elemente zurückzugeben

Methoden, die mit dem async-Modifikator deklariert wurden.

Wir können die Schleife „await foreach“ verwenden, um asynchrone Streams zu konsumieren.

Die folgende Syntax lautet:

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!";
}

Beispiel

wird übersetzt als:

Beispiel

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!";
   }
}

Ausgabe

Hello!
Hello!

Das obige ist der detaillierte Inhalt vonWas sind asynchrone Streams in C# 8.0?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen