我试图重构2.0框架的下面的代码(工作时需要)。下面的代码是根据previous post提供的,我试图找出如何对列表列表进行排序。这与讨论有点切线。下面是代码:使用Framework 2.0实现IComparable
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]);
});
当我试图运行上面的代码,最底层的逻辑是给我的问题 - 那就是“的CompareTo”不被认可。我已经做了一些阅读,看起来像我必须实现IComparable来让这个工作,但我可以在这里使用一些帮助/建议。我应该在哪里实施IComparable?此外,编译器还告诉我使用“委托”为我的.Sort方法。我说得对,它应该是这样的:的.sort(委托(INT I1,I2 INT)=>
感谢您的帮助