プロパティ(クラスタイプ)を持つリストジェネリックを持っています。私は、Zパラメータ(トレーニングセット)のソート方法が必要になります。2つ以上のプロパティの場合、リストタイプのジェネリックをソートする方法は?
public override List<TrainingSet> CalculatedDistancesArray
(List<TrainigSet> ts, double x, double y, int k)
{
for (int i =0; i < ts.Count; i++)
{
ts[i].Z = (Math.Sqrt(Math.Pow((ts[i].X - x), 2)
+ Math.Pow((ts[i].Y - y), 2)));
}
// I want to sort according to Z
ts.Sort(); //Failed to compare two elements in the array.
List<TrainingSet> sortedlist = new List<TrainingSet>();
for (int i = 0; i < k; i++)
{
sortedlist.Add(ts[i]);
}
return ts;
}
public class TrainigSet
{
public double X { get; set; }
public double Y { get; set; }
public double Z { get; set; }
public string Risk { get; set; }
}
ところで、リストをコピーする簡単な方法があることに注意してください - 本当に*入力*リストをソートし、それを新しいリストにコピーすることを意味しましたか? –
彼はリスト全体をコピーせず、最初のk個のアイテムだけをコピーします。 – Guffa