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 nasource
sequência.source
é a sequência de entrada que possui oIEnumerable<T>
.action
é a operação que se aplica a cada elemento dasource
sequê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
5
Linguagem de código: C# ( cs )
Neste exemplo, passamos o
método para o WriteLine
método. O ForEach()
método executa o ForEach()
método em cada número inteiro da lista de números que grava cada número no console.WriteLine
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.90
Linguagem de código: C# ( cs )
Resumo
- Use o método LINQ
ForEach()
para aplicar uma ação em cada elemento de uma sequência.
Anterior