Dicas sobre desenvolvimento de software, gestão e tributações

Rede Social

11 de agosto de 2020

C#: Funções de agregação LINQ


Seguindo o post anterior de LINQ sobre ordenações  vamos ver algumas funções de agregação.

Tendo como base a mesma classe e lista do exemplo anterior:

Aula
{
    Id int
    NomeAula string
    Curso int
    TempoDuracao datetime
}

List<Aula> aulas;

Primeiramente quero saber quais aulas tem o maior tempo, a que tem o menor tempo e a média de tempo de todas elas.

Para saber a de maior usarei o Max:
var max = aulas.Max(c => c.TempoDuracao);

Para saber a de menor o Min
var min = aulas.Min(c => c.TempoDuracao);

E para a média o Average
var media= aulas.Average(c => c.TempoDuracao);

Uma outra opção bem interessante é contar quantos registros existem seguinte uma regra que eu definir, por exemplo, quero saber quantas aulas tem Engenharia no nome, para isso utilizo o Count para contar e dentro dele utilizo o Contains para comparar as strings.
int total = aulas.Count(c => c.NomeAula.Contains("Engenharia"));

0 comentários:

Postar um comentário