2016-07-25 52 views
1

我已經在列表中搜集了一些座標(x,y),並且需要按照閱讀順序從左到右排序它們。附圖顯示了我的目標。如何排序列表從左到右然後從上到下

我認爲下面會工作,但它沒有正確排序。任何幫助讚賞。謝謝!

mypointlist = mypointlist.OrderByDescending(pnt => pnt.X).ThenBy(pnt => pnt.Y).ToList(); 

Example Image

+0

它是如何應用用你現在的代碼來玩。 – Maverick

+0

這看起來是正確的,只有我認爲需要改變的是使用OrderBy而不是OrderByDescending。 – Maverick

+0

嘗試了不同的選項。我認爲問題在於我的x座標和y座標對於每個行/列是相同的(如適用)。不確定。有些東西雖然拋棄了。例如。 1,5,9和13的x值相同,1,2,3和4的y值相同。 – user2148138

回答

1

需要由Y升(從上到下)對它們進行排序,然後用X遞增(爲了與左邊相同的Y以正確的順序分):

mypointlist = mypointlist.OrderBy(pnt => pnt.Y).ThenBy(pnt => pnt.X).ToList(); 
0

這會出現在我的具體情況已經奏效,但我不知道它的充分證明:

mypointlist = mypointlist.OrderByDescending(pnt => pnt.Y).ThenBy(pnt => pnt.X).ToList(); 
相關問題