Существует список полигонов List<Polygon> Polygons
, определенных этими классами.Заказать список списков в C#, используя LINQ
Как я могу заказать этот список, так что многоугольник упорядочен первым свойством их точки X, а затем с помощью Y свойства их точек в порядке возрастания.
public class Polygon
{
public List<Point2D> Points;
}
public class Point2D
{
public double X;
public double Y;
}
Update: Для примера рассмотрим эти многоугольники:
(A) (0, 0) -> (5, 1) -> (5, -3) -> (0, -3) -> (0, 0)
(B) (0, -10) -> (5, -9) -> (5, -13) -> (0, -13) -> (0, -10)
(C) (10, 0) -> (15, 1) -> (15, -3) -> (10, -3) -> (10, 0)
отсортированный выход:
(A) (0, -10) -> (5, -9) -> (5, -13) -> (0, -13) -> (0, -10)
(B) (0, 0) -> (5, 1) -> (5, -3) -> (0, -3) -> (0, 0)
(C) (10, 0) -> (15, 1) -> (15, -3) -> (10, -3) -> (10, 0)
http: // stackoverflow.com/questions/298725/multiple-order-by-in-linq –
Что делать, если есть пересечения полигонов – user853710
Спасибо @ user189756, но мой вопрос кажется немного иным, как я его понимаю. – Vahid