top of page

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

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<T> para ler e processar dados de maneira assíncrona.



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.

0 visualização

Posts recentes

Ver tudo

Dica C#: Default Interface Methods

Vamos falar sobre uma novidade do C# 12: Default Interface Methods. Esse recurso permite que interfaces contenham implementações de...

Dica C#: Global Using Directives

Vamos para uma dica do C# 10: Global Using Directives. Com essa funcionalidade, você pode definir diretivas using globais que se aplicam...

bottom of page