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