S'agissant d'une question revenant péridiquement, voici un petit exemple d'implémentation de l'interface IComparer, nécessaire pour effectuer le tri d'un type personnalisé dans un Array ou ArrayList par exemple.
Pour l'exemple nous allons nous baser sur une classe "Personne", et notre implémentation de IComparer permettra d'effectuer un tri croissant/décroissant sur chacun des éléments caractérisant la personne : Nom, Prenom et Age.
Soit 6 possiblités de tri au total.
Version minimale du Framework : 1.1
//
// REPRESENTATION DE LA CLASSE PERSONNE
//
public class Personne
{
// Methodes
public Personne(string nom, string prenom, int age);
public override string ToString();
// Propriétés
public int Age { get; }
public string Nom { get; }
public string Prenom { get; }
}
Etant donné l'éclatement en petites méthodes de la classe PersonneComparer, le mieux est de télécharger la solution afin de regarder directement le déroulement dans l'IDE.