"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como encontrar a pessoa com a data de nascimento mais antiga usando o LINQ?

Como encontrar a pessoa com a data de nascimento mais antiga usando o LINQ?

Postado em 2025-03-23
Navegar:774

How to Find the Person with the Earliest Birthdate Using LINQ?

use Linq para encontrar um objeto com o valor de atributo mínimo ou máximo

LINQ fornece uma maneira poderosa e eficiente de consultar dados. É especialmente útil ao selecionar objetos com base em condições específicas, como encontrar objetos com o menor ou maior valor de uma propriedade específica.

Suponha que você tenha uma lista de objetos de pessoa que possuem uma propriedade NULLABLE DATEOFBIRTH. Pode ser necessário determinar a data mais antiga de nascimento.

Um método é usar o método Min para encontrar o valor mínimo do atributo DateOfBirth. No entanto, isso retornará apenas o valor mínimo da data, não o objeto de pessoa real.

Para obter o objeto correspondente, você pode usar o método agregado:

var firstBorn = People.Aggregate((curMin, x) => (curMin == null || (x.DateOfBirth ?? DateTime.MaxValue) 

Neste exemplo, o valor do acumulador inicial é definido como NULL. A função passada para o método agregado verifica se o valor do acumulador atual é nulo ou se a propriedade DateOfBirth do elemento atual (substitua o valor nulo pelo DateTime.MaxValue) é anterior à propriedade DateOfBirth do acumulador atual. Se verdadeiro, a função retorna o elemento atual como o novo acumulador;

O resultado do agregado é o objetivo mais antigo da data de nascimento. Esse método mais simples não requer uma segunda consulta para recuperar o objeto correspondente.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3