• ベストアンサー

ListのSort

Visual C++ 2005/CLIにてWindowsアプリケーションを作成しています 三つの要素があるListのbの要素でソートしたいのですが、どうしたら よいでしょうか? public ref class Test { private: a; b; c: } void main() { List<Test^>^ test = gcnew List<Test^>; //ここ test->Sort(); // <-ここがわかない }

質問者が選んだベストアンサー

  • ベストアンサー
  • koko_u_
  • ベストアンサー率18% (459/2509)
回答No.1

List.Sort(Generic IComparer) あるいは List.Sort(Generic Comparison) が定義されています。 MSDN をちょろっと見ると、Test に比較演算子を追加してもよいなら前者で、Test が変更不可なら後者?

tamukikun
質問者

お礼

IComparerの使い方がわかりました。 ありがとうございました。

tamukikun
質問者

補足

List<String^>ならばListのメソッドであるSortが使えるのですが、 Testのような要素が三つある場合はどうでしょうか?

その他の回答 (1)

  • koko_u_
  • ベストアンサー率18% (459/2509)
回答No.2

Test の比較をその第2要素による比較で定義してください。 List<T> は T の比較方法がわかればソートしてくれます。 #というか MSDN を読め。