J'essaie de refactoriser le code ci-dessous pour le framework 2.0 (requis au travail). Le code ci-dessous a été aimablement fourni par un previous post dans lequel j'essayais de comprendre comment trier un dictionnaire d'arraylists. C'est un peu une tangente de cette discussion. Voici le code:Implémentation d'IComparable à l'aide de Framework 2.0
MultiDimDictList myDicList = new MultiDimDictList();
myDicList.Add("fly", a_fly);
myDicList.Add("img", a_img);
myDicList.Add("bar", a_bar);
myDicList.Add("meter", a_meter);
myDicList.Add("block", a_block);
myDicList.Add("popularity", a_pop);
List<int> OrderedByPopularity = new List<int>();
ArrayList popList = myDicList["popularity"];
for (int i = 0; i < popList.Count; ++i)
{
OrderedByPopularity.Add(i);
}
OrderedByPopularity.Sort((i1, i2) =>
{
return popList[i2].CompareTo(popList[i1]);
});
Lorsque je tente d'exécuter le code ci-dessus, le fond le plus logique me donne des problèmes - à savoir, non reconnu « CompareTo ». J'ai fait quelques lectures à ce sujet et il semble que je doive implémenter IComparable pour que cela fonctionne, mais je pourrais utiliser de l'aide/des suggestions ici. Où devrais-je implémenter IComparable? De plus, le compilateur me dit aussi d'utiliser "delegate" pour ma méthode .Sort. Ai-je raison qu'il devrait ressembler à: .Sort (délégué (int i1, i2 int) =>
Merci pour votre aide