Maison > développement back-end > C++ > Comment LINQ peut-elle trouver efficacement l'objet avec la valeur de propriété minimale ou maximale?

Comment LINQ peut-elle trouver efficacement l'objet avec la valeur de propriété minimale ou maximale?

Mary-Kate Olsen
Libérer: 2025-02-01 03:36:10
original
839 Les gens l'ont consulté

How Can LINQ Efficiently Find the Object with the Minimum or Maximum Property Value?

Objets avec la valeur d'attribut minimum / maximum avec linq

Dans les scénarios de traitement des données, un certain objet avec une valeur minimale ou maximale avec un attribut spécifique est souvent requis. Linq fournit des méthodes simples pour y parvenir.

passons en revue votre exemple, où l'objet personne a l'attribut DateOfBirth qui peut être vide. Pour trouver les premières personnes de la date de naissance, vous avez d'abord essayé les méthodes suivantes:

mais cela ne récupérera que la plus petite valeur de rendement. Pour récupérer l'objet personne correspondant, une requête supplémentaire est toujours requise.
<code>var firstBornDate = People.Min(p => p.DateOfBirth.GetValueOrDefault(DateTime.MaxValue));</code>
Copier après la connexion

Solution simple: utilisez des agrégats

linq fournit une méthode alternative pour utiliser la méthode agrégée:

Ce fragment de code peut être utilisé pour récupérer la plus petite valeur de rendement et l'objet de personne correspondante dans une seule requête. Il compare itérativement la propriété DateOfbirth de chaque élément avec la valeur minimale actuelle et renvoie les éléments avec la valeur minimale.

<code>var firstBorn = People.Aggregate((curMin, x) => (curMin == null || 
    (x.DateOfBirth ?? DateTime.MaxValue) < (curMin.DateOfBirth ?? DateTime.MaxValue)) ? x : curMin);</code>
Copier après la connexion
En utilisant un agrégat, vous pouvez éliminer les besoins de la deuxième requête et simplifier considérablement le code. Cette méthode est particulièrement utile lorsque vous devez trouver des valeurs extrêmes qui peuvent avoir un attribut de valeur courte.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal