Maison >développement back-end >C++ >Comment puis-je trouver efficacement la personne avec la première date de naissance en utilisant LINQ?

Comment puis-je trouver efficacement la personne avec la première date de naissance en utilisant LINQ?

Linda Hamilton
Linda Hamiltonoriginal
2025-02-01 03:51:07604parcourir

How Can I Efficiently Find the Person with the Earliest Birth Date Using LINQ?

Utilisez LINQ pour obtenir des objets avec des attributs extrêmes

et

Les méthodes de LINQ peuvent être utilisées pour trouver des objets avec la valeur d'attribut spécifique minimum ou maximale. Cependant, lorsque le traitement peut être vide, certaines considérations supplémentaires peuvent se produire. Min() Max() La personne qui détermine la première date de naissance

Supposons que vous ayez une liste d'objets de personne, qui contient un attribut qui peut être vide. Vous souhaitez utiliser Linq pour trouver la première date de naissance.

Une méthode consiste à utiliser la méthode DateOfBirth pour obtenir la plus petite valeur

:

Min() DateOfBirth mais cela ne fournira que la date elle-même. Si vous voulez l'objet personne correspondant, vous pouvez effectuer une autre requête:

<code class="language-csharp">var firstBornDate = People.Min(p => p.DateOfBirth.GetValueOrDefault(DateTime.MaxValue));</code>

Solutions plus efficaces

<code class="language-csharp">var firstBorn = People.Single(p => (p.DateOfBirth ?? DateTime.MaxValue) == firstBornDate);</code>

Au lieu d'utiliser deux requêtes, il est préférable d'utiliser la méthode pour combiner l'opération:

Cette collection d'itération de code est stockée dans Aggregate(). Lors de la rencontre de l'objet Personne précédente , il remplacera la valeur minimale actuelle. En conséquence, la personne s'oppose à la première date de naissance.

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!

Déclaration:
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