LINQ ForEach

Resumo : neste tutorial, você aprenderá como usar o ForEach()método LINQ para executar uma operação em cada elemento de uma sequência.

Introdução ao método LINQ ForEach()

O ForEach()método permite executar uma ação em cada elemento de uma sequência.

Aqui está a sintaxe do ForEach()método:

public static void ForEach<T>(
    this IEnumerable<T> source, 
    Action<T> action
);Linguagem de código:  C#  ( cs )

Nesta sintaxe:

  • Té o tipo de elementos na sourcesequência.
  • sourceé a sequência de entrada que possui o IEnumerable<T>.
  • actioné a operação que se aplica a cada elemento da sourcesequência.

Exemplos de LINQ ForEach

Vejamos alguns exemplos de uso do ForEach()método LINQ.

1) O uso básico do LINQ ForEach()

O exemplo a seguir demonstra como usar o ForEach()método para escrever números inteiros de uma lista no console:

using static System.Console;

var numbers = new List<int> { 1, 2, 3, 4, 5 };

numbers.ForEach(WriteLine);Linguagem de código:  C#  ( cs )

Saída:

1
2
3
4
5Linguagem de código:  C#  ( cs )

Neste exemplo, passamos o WriteLinemétodo para o ForEach()método. O ForEach()método executa o WriteLinemétodo em cada número inteiro da lista de números que grava cada número no console.

2) Usando LINQ ForEach() para calcular o total da linha de produtos

O exemplo a seguir demonstra como usar o ForEach()método para calcular o total da linha de produtos:

class Product
{
    public string Name { get; set; }
    public decimal Price { get; set; }
    public int Quantity { get; set; }

    public Product(string name, decimal price, int quantity)
    {
        Name = name;
        Price = price;
        Quantity = quantity;
    }
}

class Program
{
    static void Main(string[] args)
    {
        var products = new List<Product>()
        {
            new Product("Apple", 0.99m, 2),
            new Product("Banana", 1.29m, 3),
            new Product("Orange", 0.89m, 4),
            new Product("Grapes", 2.49m, 1)
        };

        decimal total = 0m;

        products.ForEach(product =>
        {
            decimal lineTotal = product.Price * product.Quantity;
            Console.WriteLine($"{product.Name} x {product.Quantity}: {lineTotal:C}");
            total += lineTotal;
        });


        Console.WriteLine($"Total: {total:C}");
    }
}
Linguagem de código:  C#  ( cs )

Saída:

Apple x 2: $1.98
Banana x 3: $3.87
Orange x 4: $3.56
Grapes x 1: $2.49
Total: $11.90Linguagem de código:  C#  ( cs )

Resumo

  • Use o método LINQ ForEach()para aplicar uma ação em cada elemento de uma sequência.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *