从左到右、从上到下对列表进行排序(按照标准阅读顺序)
我花了很长时间才把这件事做好。我试过stackoverflow,但没有成功。我正在尝试按阅读顺序对点集合进行排序。基本上我有矩形的中心坐标(质心),如图所示。我认为其中几个的x和y是相同的,这让事情变得复杂了。有什么办法可以解决我下面的尝试吗?
mypointlist = mypointlist。OrderByDescending(pnt => pnt。y)。然后By(pnt => pnt。x)。to list();
**** Hidden Message ***** 嗨,我没有看到你发布的代码有任何错误(至少是算法部分)。也许是准确性问题,请尝试舍入坐标:mypointlist = mypointlist。OrderByDescending(pnt => math.圆形(pnt.Y, 9))。ThenBy(pnt => Math.Round(pnt.X, 9))。ToList();假设 mypointlist 类型是 List你也可以使用 List,Sort() method (C# 6):us static System.Math;。
// ...。
我的点名表,排序((p1, p2) => 。
圆形(p1.Y, 9) == 圆形(p2.Y, 9) ?。
圆形(p1.X, 9)。CompareTo(Round(p2.X, 9)) : 。
圆形(p2.Y, 9)。CompareTo(Round(p1.Y, 9)));。
谢谢Giles...我来试试这个
你搞定了,贾尔斯,这就是问题所在。非常感谢你。
页:
[1]