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