Podium Dernier Course liste

[Linq] Obtenir le dernier élément d’une liste d’objet

Dernièrement je cherchais à obtenir le dernier élément d’une liste d’objet avec Linq (Language Integrated Query) dans Visual Studio.

Pour cela on a la chance d’avoir les Opérateurs d’éléments (Element Operators ) avec linq et plus particulièrement l’opérateur Last(). Par contre il ne faut pas le confondre avec l’opérateur d’agrégation Max() (Aggregate Operators ) qui renvoie l’élément ayant la valeur max. (Ce qui peut éventuellement marcher si on recherche le dernier ID d’une liste par exemple).


Utiliser Max() sur une liste d’objet obligera à implémenter une méthode de comparaison IComparable.

Podium Dernier Course liste
Linq, recherchez le dernier élément d’un podium

List.Last()

nous retournera le dernier élément de la liste.

    Exemple 1: Liste d’entier (List)
List<int> numbers =  new List<int>(){ 1, 9, 2, 3, 8, 5, 6, 7, 3, 0 };
 
int LastInt = numbres.Last();
Console.WriteLine("Le dernier chiffre est {0}.",  LastInt );
//=> Le dernier chiffre est 0
 
int MaxInt = numbres.Max();
Console.WriteLine("Le chiffre max est {0}.",  MaxInt );
 // => Le chiffre max est 9
    Exemple 2: Liste d’objet (List)
//On a une classe Joueur.cs avec une propriété Nom.
 
List<Joueur> mesjoueurs = new List<Joueur>();
 
Joueur JoueurA = new Joueur("Arnaud");
mesjoueurs.add(JoueurA);
 
Joueur JoueurB = new Joueur("Leelou");
mesjoueurs.add(JoueurB);
 
Console.WriteLine("Le dernier joueur est {0}.",  mesjoueurs.Last().Nom);
 //=> " Le dernier joueur est Leelou"
Console.WriteLine("Le joueur max est {0}.",  mesjoueurs.Max());
//=> At least one object must implement IComparable.


Un petit article sur la programmation en C# pour la route?


Point d’intérêt de cet article : C#, CSharp, Linq, liste.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.