DEV Community

Juarez Júnior for Develop4Us

Posted on • Edited on

Dica C#: Async Streams

Vamos falar sobre Async Streams, introduzidos no C# 8, que permitem trabalhar com fluxos de dados assíncronos de forma eficiente e natural. Veja o exemplo no código abaixo.

using System;
using System.Collections.Generic;
using System.Threading.Tasks;

public class Program
{
    public static async Task Main()
    {
        await foreach (var numero in GerarNumerosAsync())
        {
            Console.WriteLine(numero);
        }
    }

    public static async IAsyncEnumerable<int> GerarNumerosAsync()
    {
        for (int i = 1; i <= 5; i++)
        {
            await Task.Delay(1000); // Simula uma operação assíncrona
            yield return i;
        }
    }
}
Enter fullscreen mode Exit fullscreen mode

Explicação:
Com Async Streams, você pode consumir dados de forma assíncrona, item por item, utilizando a palavra-chave await em um foreach. Isso é especialmente útil ao lidar com grandes quantidades de dados ou quando os dados são recebidos gradualmente, como em operações de leitura de arquivos, requisições HTTP ou processamento de dados em tempo real. No exemplo acima, mostramos como usar IAsyncEnumerable para ler e processar dados de maneira assíncrona.

Código fonte: GitHub

Espero que essa dica ajude você a usar Async Streams para tornar suas operações de leitura de dados mais eficientes e responsivas! Até a próxima.

Heroku

Build apps, not infrastructure.

Dealing with servers, hardware, and infrastructure can take up your valuable time. Discover the benefits of Heroku, the PaaS of choice for developers since 2007.

Visit Site

Top comments (0)

AWS Security LIVE!

Join us for AWS Security LIVE!

Discover the future of cloud security. Tune in live for trends, tips, and solutions from AWS and AWS Partners.

Learn More

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay