Я пытаюсь сортировать список двумерных точек сначала по координате x, а затем по координате y. я реализовал интерфейс IComparer следующим образом:Сортировка 2D-списка точек (сначала по X, а затем по Y)
class PointComparer : IComparer<Point>
{
public int Compare(Point x, Point y)
{
if (x.Y != y.Y)
{
return x.Y - y.Y;
}
else
{
return x.X - y.X;
}
}
}
И затем вызвать мою сортировку следующим образом:
pointsList.Sort(new PointComparer());
По какой-то причине список не сортировать. Наверняка это что-то очень простое и глупое, но надолго застряло на этом. TIA
Почему вы сравнивающие 'IntPoint' с' Point'? – kennytm
Извините, что это была ошибка. исправленный. – Mikos
Разве это не сортировка по Y, а затем по X? Кроме того, 'x' и' y' являются ужасными именами в этом контексте. – Kobi