Utilisez LINQ pour trouver l'objet avec la plus grande valeur d'attribut dans une collection
LINQ fournit des méthodes pratiques pour trouver l'objet ayant la plus grande valeur de propriété dans une collection. Regardons un exemple :
Supposons que nous ayons une liste d'objets DimensionPair
, dont chacun a des propriétés Height
et Width
:
<code class="language-csharp">public class DimensionPair { public int Height { get; set; } public int Width { get; set; } }</code>
Nous devons trouver et renvoyer l'objet avec la plus grande Height
valeur d'attribut.
Nous pouvons facilement y parvenir en utilisant la méthode MaxBy()
:
<code class="language-csharp">var maxItem = items.MaxBy(x => x.Height);</code>
Avec l'expression lambda x => x.Height
nous disons à LINQ de comparer les Height
propriétés de chaque objet et de sélectionner celui avec la plus grande valeur. Le résultat est affecté à la variable maxItem
.
Cette approche présente les avantages suivants :
MaxBy()
n'a besoin de parcourir la collection qu'une seule fois, avec une complexité temporelle de O(n). MaxBy()
peut être appliqué à n'importe quelle collection pour trouver l'objet avec la plus grande valeur de propriété spécifiée. 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!