Resumo : neste tutorial, você aprenderá como usar o Count()
método LINQ para retornar o número de elementos em uma sequência.
Introdução ao método LINQ Count()
O LINQ Count()
é um método de extensão que retorna o número de elementos em uma sequência ou o número que representa quantos elementos satisfazem uma condição.
int Count<TSource> (
this IEnumerable<TSource> source,
Func<TSource,bool> predicate
);
Linguagem de código: C# ( cs )
Nesta sintaxe:
source
na sequência de entrada com oIEnumerable
<T>.predicate
é uma função para testar cada elemento para uma condição especificada.
A Count()
função retorna o número de elementos ou o número de elementos que satisfazem uma condição.
Exemplos do método LINQ Count()
Vejamos alguns exemplos de uso do Count()
método LINQ.
1) Usando o método LINQ Count() para contar o número de elementos em uma sequência
O programa a seguir demonstra como usar o Count()
método para obter o número de nomes cujos comprimentos são menores ou iguais a 3:
using static System.Console;
var names = new string[] { "Alice", "Bob", "Peter", "David", "Ted" };
var shortNameCount = names.Count(name => name.Length <= 3);
WriteLine($"{shortNameCount} people have short names.");
Linguagem de código: C# ( cs )
Saída:
2 people have short names.
Linguagem de código: C# ( cs )
2) Usando o método LINQ Count() para contar os elementos que satisfazem uma condição
O exemplo a seguir usa o Count()
método para obter o número de funcionários do IT
departamento:
using System.Net.Http.Headers;
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.Count(e => e.Department == "IT");
WriteLine($"The IT employee count: {result}");
}
}
}
Linguagem de código: C# ( cs )
Saída:
The IT employee count: 3
Linguagem de código: C# ( cs )
Como funciona.
Primeiro, defina a classe Funcionário com três propriedades Nome, Departamento e Salário:
class Employee
{
public string? Name { get; set; }
public string? Department { get; set; }
public int Salary { get; set; }
}
Linguagem de código: C# ( cs )
Segundo, defina uma lista de objetos Employee e inicialize-a com cinco elementos:
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 }
};
Linguagem de código: C# ( cs )
Terceiro, conte o número de funcionários do IT
departamento usando o Count()
método:
var result = employees.Count(e => e.Department == "IT");
Linguagem de código: C# ( cs )
A expressão lambda e => e.Department
== “
” testa cada objeto Employee e retorna verdadeiro se o departamento do funcionário for IT
.IT
Por fim, escreva o número de IT
funcionários no console:
WriteLine($"The IT employee count: {result}");
Linguagem de código: C# ( cs )
Resumo
- Use o método LINQ
Count()
para obter o número de elementos em uma sequência que satisfaz uma condição especificada.