私の質問はIComparer
インターフェイスに関するものです。これまでに使用したことがないので、すべてを正しく設定するのを手伝っていただければ幸いです。
インターフェイスを使用して、自分のオブジェクトのリストを別のオブジェクトの正確な順序で並べ替える必要がありますList<int>
。ネット上でその問題に役立つものは何も見つかりませんでした。見つけたものはすべて、使用できないlinqステートメントでした。
コード例は次のとおりです。
public class What : IComparer<What>
{
public int ID { get; set; }
public string Ever { get; set; }
public What(int x_ID, string x_Ever)
{
ID = x_ID;
Ever = x_Ever;
}
public int Compare(What x, What y)
{
return x.ID.CompareTo(y.ID);
}
}
操作するデータ:
List<What> WhatList = new List<What>()
{
new What(4, "there"),
new What(7, "are"),
new What(2, "doing"),
new What(12, "you"),
new What(78, "Hey"),
new What(63, "?")
};
そして、正しい順序のリスト:
List<int> OrderByList = new List<int>() { 78, 4, 63, 7, 12, 2 };
IComparer
では、次のように並べ替えるにはどうすればよいOrderByList
でしょうか。私はそれを行う方法を本当に知りませんでした。これはlinqでかなり簡単になることは知っていますが、それを使用する機会がありません.