Ma question porte sur le IComparer
Je n'ai jamais travaillé avec l'interface, alors j'espère que vous pourrez m'aider à tout régler correctement.
Je dois utiliser l'interface pour trier une liste d'objets propres en fonction de la séquence exacte d'un autre objet. List<int>
. Je n'ai rien trouvé d'utile pour ce problème sur le net, tout ce que j'ai trouvé était des instructions linq, que je ne peux pas utiliser.
Voici l'exemple de code :
public class What : IComparer<What>
{
public int ID { get; set; }
public string Ever { get; set; }
public What(int x_ID, string x_Ever)
{
ID = x_ID;
Ever = x_Ever;
}
public int Compare(What x, What y)
{
return x.ID.CompareTo(y.ID);
}
}
Quelques données pour travailler :
List<What> WhatList = new List<What>()
{
new What(4, "there"),
new What(7, "are"),
new What(2, "doing"),
new What(12, "you"),
new What(78, "Hey"),
new What(63, "?")
};
Et la liste avec l'ordre correct :
List<int> OrderByList = new List<int>() { 78, 4, 63, 7, 12, 2 };
Alors maintenant, comment puis-je dire IComparer
pour trier par le OrderByList
? Je ne sais vraiment pas comment faire, je sais que ce serait assez facile avec linq, mais je n'ai pas l'occasion de l'utiliser.