Resumo : neste tutorial, você aprenderá como usar o All()
método LINQ para determinar se todos os elementos de uma sequência satisfazem uma condição especificada.
Introdução ao método LINQ All()
O All()
é um método de extensão em LINQ que retorna true
se todos os elementos de uma sequência satisfizerem uma condição especificada. Caso contrário, ele retorna false
.
bool ALL<TSource> (
this IEnumerable<TSource> source,
Func<TSource,bool> predicate
);
Linguagem de código: C# ( cs )
Nesta sintaxe:
source
é uma sequência de entrada com o tipoIEnumerable<T>
.predicate
é uma função que retorna verdadeiro se o elemento satisfizer uma condição.
Exemplos de LINQ All()
Vejamos alguns exemplos de uso do All()
método de extensão.
1) Usando o método LINQ All() para verificar se todos os elementos de uma sequência satisfazem uma condição
O exemplo a seguir demonstra como usar o All()
método LINQ para verificar se todos os elementos de uma sequência satisfazem uma condição:
using static System.Console;
int[] numbers = { 2, 4, 6, 8 };
bool allEvenNumbers = numbers.All(n => n % 2 == 0 ? true : false);
if (allEvenNumbers)
{
WriteLine("All numbers are even.");
}
Linguagem de código: C# ( cs )
Neste exemplo, a expressão lambda n => n % 2 == 0 ? true : false
testa todos os números na matriz de números e retorna verdadeiro se todos eles forem pares.
2) Usando o método LINQ All() com uma sequência de objetos
O programa a seguir demonstra como utilizar o All()
método para verificar se todos os funcionários possuem salário superior a 40K:
using static System.Console;
namespace LINQDemo
{
class Employee
{
public string? Name { get; set; }
public string? Department { get; set; }
public int Salary { get; set; }
}
class Program
{
public static void Main()
{
var employees = new List<Employee>() {
new() { Name = "John", Department = "HR", Salary = 50000 },
new() { Name = "Jane", Department = "IT", Salary = 60000 },
new() { Name = "Bob", Department = "HR", Salary = 45000 },
new() { Name = "Sara", Department = "IT", Salary = 55000 },
new() { Name = "Tom", Department = "IT", Salary = 65000 }
};
var result = employees.All(e => e.Salary > 40000);
if (result)
{
WriteLine("All employees have salary greater than 40000");
}
}
}
}
Linguagem de código: C# ( cs )
Saída:
All employees have salary greater than 40000
Linguagem de código: texto simples ( texto simples )
Neste exemplo, a expressão lambda e => e.Salary > 40000
se aplica a cada Employee
objeto e retorna true
se todos os funcionários tiverem salário maior que 40000
.
Resumo
- Use o método LINQ
All()
para determinar se todos os elementos em uma sequência satisfazem uma condição especificada.