我有兩個列表。一種是MyClass類型的,並且充滿了我寫的這些類。第二個有一些int值。C++,Net,WindowsForms按其他列表的值排序列表
問題是,我不知道如何處理使用第二個值的排序第一個列表。 我不知道如何編寫一個IComparer來使用排序列表方法。我在msdn中看到了一個例子,但我不知道如何改變它。 http://msdn.microsoft.com/en-us/library/234b841s.aspx#Y535
這是我的計劃:
// ##################################
ref class MyClass{
private:
int x;
int y;
String^ name;
public:
MyClass(int x, int y, String^ name){
this->x = x;
this->y = y;
this->name = name;
}
...
};
//###### in some button which will initialize...:
List<MyClass^>^ listMyClass = gcnew List<MyClass^>(3);
listMyClass->Add(gcnew MyClass(3, 5, "class1"));
listMyClass->Add(gcnew MyClass(1, 2, "class2"));
listMyClass->Add(gcnew MyClass(6, 8, "class3"));
List<int>^ numbers = gcnew List<int>(3);
numbers->Add(2);
numbers->Add(4);
numbers->Add(1);
// ###################################
這些數字數字List代表listMyClass元素的某種狀態。所以我想使用列表中的值對listMyClass進行排序。 我想排序後有這樣的結果: listMyClass[1]
是第一個,因爲列表中的數字4是最高的。然後 listMyClass[0]
然後listMyClass[2]
有沒有處理這個挑戰的任何可能性?