Maison  >  Article  >  développement back-end  >  Que sont les flux asynchrones en C# 8.0 ?

Que sont les flux asynchrones en C# 8.0 ?

王林
王林avant
2023-09-01 12:13:111105parcourir

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

C# 8.0 introduit les flux asynchrones, qui modélisent une source de données en streaming. Les flux récupèrent ou génèrent généralement des éléments de manière asynchrone.

Le code qui génère des séquences peut désormais utiliser le rendement pour renvoyer des éléments

Méthodes déclarées à l'aide du modificateur async.

Nous pouvons utiliser la boucle wait foreach pour consommer des flux asynchrones.

Voici la syntaxe :

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

est traduit par :

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!

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer