C#排序点2D,然后在Y中[关闭]

问题描述 投票:-1回答:1

我有一个二维点列表。它们作为网格放置。每个点的坐标X / Y为两倍。我需要在X和Y中找到步骤。最后,我想把这些点放在列表[,]中。我不能使用排序功能,因为X或Y坐标不相同。清单示例:

- X 146.01, Y -0.36, Z 0.00
- X 600.26, Y -0.28, Z 0.00
- X 296.24, Y -0.23, Z 0.00
- X 0.00, Y 0.00, Z 0.00
- X 454.25, Y 0.07, Z 0.00
- X 144.63, Y 126.42, Z 0.00
- X 295.50, Y 127.75, Z 0.00
- X -0.60, Y 128.02, Z 0.00
- X 599.41, Y 128.72, Z 0.00
- X 454.39, Y 129.27, Z 0.00
- X 146.08, Y 264.68, Z 0.00
- X 1.09, Y 265.27, Z 0.00
- X 600.17, Y 265.57, Z 0.00
- X 455.14, Y 266.27, Z 0.00
- X 296.92, Y 266.99, Z 0.00
- X 146.47, Y 390.64, Z 0.00
- X 0.45, Y 391.06, Z 0.00
- X 455.45, Y 392.30, Z 0.00
- X 599.30, Y 392.54, Z 0.00
- X 297.29, Y 393.03, Z 0.00
c# sorting point
1个回答
0
投票

这种解决方案无法正常工作:

var mySortedLIst = myList.OrderBy(p => p.X).ThenBy(p => p.Y).ToList();

因为X坐标不是“相等”,所以结果将不符合我的期望:

5 6 7 8

1 2 3 4

© www.soinside.com 2019 - 2024. All rights reserved.