"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment trouver la personne avec la première date de naissance à l'aide de Linq?

Comment trouver la personne avec la première date de naissance à l'aide de Linq?

Publié le 2025-03-23
Parcourir:778

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

Utilisez linq pour trouver un objet avec la valeur d'attribut minimum ou maximum

linq fournit un moyen puissant et efficace de demander des données. Il est particulièrement utile lors de la sélection d'objets en fonction de conditions spécifiques, telles que la recherche d'objets avec la plus petite ou la plus grande valeur d'une propriété particulière.

Supposons que vous ayez une liste d'objets de personne qui ont une propriété DateOfBirth nullable. Vous devrez peut-être déterminer la première date de naissance.

Une méthode consiste à utiliser la méthode MIN pour trouver la valeur minimale de l'attribut DateOfBirth. Cependant, cela ne renverra que la valeur de date minimale, et non l'objet de la personne réelle.

Pour obtenir l'objet correspondant, vous pouvez utiliser la méthode agrégée:

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

Dans cet exemple, la valeur de l'accumulateur initial est définie sur null. La fonction transmise à la méthode agrégée vérifie si la valeur accumulée actuelle est nul, ou si la propriété DateOfbirth de l'élément actuel (remplacer la valeur nul par DateTime.maxValue) est antérieure à la propriété DateOfbirth de l'accumulateur actuel. Si elle est vraie, la fonction renvoie l'élément actuel comme le nouvel accumulateur;

Le résultat de l'agrégat est le premier objet de la personne avec la date de naissance. Cette méthode plus simple ne nécessite pas de deuxième requête pour récupérer l'objet correspondant.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3