1
我已经在列表中搜集了一些坐标(x,y),并且需要按照阅读顺序从左到右排序它们。附图显示了我的目标。如何排序列表从左到右然后从上到下
我认为下面会工作,但它没有正确排序。任何帮助赞赏。谢谢!
mypointlist = mypointlist.OrderByDescending(pnt => pnt.X).ThenBy(pnt => pnt.Y).ToList();
我已经在列表中搜集了一些坐标(x,y),并且需要按照阅读顺序从左到右排序它们。附图显示了我的目标。如何排序列表从左到右然后从上到下
我认为下面会工作,但它没有正确排序。任何帮助赞赏。谢谢!
mypointlist = mypointlist.OrderByDescending(pnt => pnt.X).ThenBy(pnt => pnt.Y).ToList();
需要由Y升(从上到下)对它们进行排序,然后用X递增(为了与左边相同的Y以正确的顺序分):
mypointlist = mypointlist.OrderBy(pnt => pnt.Y).ThenBy(pnt => pnt.X).ToList();
这会出现在我的具体情况已经奏效,但我不知道它的充分证明:
mypointlist = mypointlist.OrderByDescending(pnt => pnt.Y).ThenBy(pnt => pnt.X).ToList();
它是如何应用用你现在的代码来玩。 – Maverick
这看起来是正确的,只有我认为需要改变的是使用OrderBy而不是OrderByDescending。 – Maverick
尝试了不同的选项。我认为问题在于我的x坐标和y坐标对于每个行/列是相同的(如适用)。不确定。有些东西虽然抛弃了。例如。 1,5,9和13的x值相同,1,2,3和4的y值相同。 – user2148138