Contagem LINQ

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:

  • sourcena sequência de entrada com o IEnumerable<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 ITdepartamento:

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: 3Linguagem 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 ITdepartamento 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== “ IT” testa cada objeto Employee e retorna verdadeiro se o departamento do funcionário for IT.

Por fim, escreva o número de ITfuncioná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.

Deixe um comentário

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