IAsyncEnumerable<T>
Contexte : IAsyncEnumerable<T> est la version asynchrone de IEnumerable<T>. Elle permet l’itération asynchrone avec await foreach.
using System;using System.Collections.Generic;using System.IO;using System.Threading.Tasks;
public class FileReader{ public async IAsyncEnumerable<string> ReadLinesAsync(string filePath) { using var reader = new StreamReader(filePath); string line; while ((line = await reader.ReadLineAsync()) != null) { yield return line; } }}Avantages
Section intitulée « Avantages »- Pas besoin de mettre toutes les données en mémoire tampon.
- Chaque élément peut être produit de manière asynchrone.
- Fonctionne avec
await foreach.
Exemple d’utilisation dans le monde réel
Section intitulée « Exemple d’utilisation dans le monde réel »Flux de base de données : Dans EF Core, AsAsyncEnumerable() retourne IAsyncEnumerable<T> pour le flux des résultats de requête.
Exemple : Flux asynchrones EF Core