Trouver l'objet avec la valeur de propriété la plus élevée dans une collection
Une tâche de programmation fréquente consiste à localiser l'objet dans une collection qui contient la valeur maximale ou minimale pour une propriété particulière. Imaginez une liste d'objets, chacun possédant les propriétés "Hauteur" et "Largeur" (entiers). L'objectif est d'identifier et de restituer l'objet ayant la plus grande valeur "Hauteur".
L'approche LINQ
LINQ (Language Integrated Query) offre une solution élégante. Le code suivant le démontre :
<code class="language-csharp">using System.Linq; var items = new List<DimensionPair> { // Initialize your list of DimensionPair objects }; var tallestItem = items.MaxBy(item => item.Height);</code>
Explication
MaxBy
, une méthode d'extension (disponible dans MoreLINQ), identifie efficacement l'objet avec la valeur de propriété la plus élevée. Il parcourt la collection, en suivant l'objet avec la valeur maximale actuelle. L'expression lambda item => item.Height
ordonne à MaxBy
d'utiliser la propriété Height
à des fins de comparaison.
Méthodes alternatives
D'autres approches existent :
Aggregate
avec une fonction d'accumulation maximale personnalisée pour trouver la hauteur maximale, puis localisez l'objet correspondant.Cependant, MaxBy
est généralement préféré pour son efficacité et sa lisibilité, ce qui en fait le choix idéal pour ce type de problème. Cela simplifie la récupération de l'objet avec la valeur maximale pour une propriété donnée au sein d'une collection.
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!