Mais
×

Como usar LINQ para encontrar o valor máximo em uma lista

Atualizado em 19 julho, 2017

A Language Integrated Query (Consulta Integrada à Linguagem) é uma tecnologia utilizada por linguagens de programação .NET para realizar consultas. Ela permite ao desenvolvedor consultar, filtrar e transformar conjuntos de dados utilizando uma sintaxe nativa da linguagem. Uma das funções básicas de agregação é a Max, que encontra e retorna o valor máximo nos registros de uma consulta.

Instruções

A LINQ pode ser estendida para processar outras fontes de dados (Jupiterimages/Photos.com/Getty Images)
  1. Declare e inicialize uma coleção ou lista que implemente a interface IEnumerable. Qualquer implementação de IEnumerable pode ser consultada através da LINQ.

    Exemplo em C#:

    int[] arrayDeExemplo = { 5, 8, 3, 12, 37, 22, 19 };

  2. Use o operador Max para encontrar o maior valor na lista. Ele invoca uma operação de transformação em cada elemento da lista e retorna o maior resultado. Para simplesmente encontrar o maior valor em um array, o Max pode ser usado sem nenhum parâmetro.

    Exemplo em C#:

    int[] arrayDeExemplo = { 5, 8, 3, 12, 37, 22, 19 };

    //Retorna 37 int maiorValor = arrayDeExemplo.Max();

  3. Use uma expressão lambda para realizar uma operação em cada elemento da lista. Uma expressão lambda é um tipo de função anônima que é criada através do operador "=>".

    Exemplo em C#:

    int[] arrayDeExemplo = { 5, 8, 3, 12, 37, 22, 19 };

    //Subtrai 50 de cada elemento do array e então encontra o maior valor absoluto. //O elemento atualmente sendo processado é representado pela variável "i", que é definido pela instrução "i =>" //Retorna 47, que é o resultado de Abs(3 - 50); int maiorValor = arrayDeExemplo.Max(i => System.Math.Abs(i - 50));

bibliography-icon icon for annotation tool Cite this Article