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.
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