私は、2.0のフレームワークの下のコードをリファクタリングしようとしています。以下のコードは、previous postごとに提供されました。ここで、私はarraylistsの辞書を並べ替える方法を見つけようとしていました。これはその議論からの少しの接線です。以下のコードされています。私は上記のコードを実行しようとすると、一番下のロジックは私の問題をフレームワーク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メソッドに "delegate"を使用するよう指示しています。問題は、ArrayListの戻りオブジェクトということです=> .Sort(デリゲート(int型I1、int型のI2)あなたの助けを
感謝を