2011-12-06 31 views
2

我點對象,其中點類有兩個屬性X和Y.所以我有一個對象,它看起來像這樣如何獲得Isascending在C#

{1,2} { 2,3}列表 {3,4}所以在這裏上面的元素,你看到X值從1-2-3增加,所以我需要一個返回TRUE這個的方法。

如果我有一個其他對象說 {1,2} { 3,2} { 2,1}這裏X不增加也不依次減小,因此,該方法應返回false X推移從1- 3-2。
我可以在LINQ中實現這一點嗎?或者更好的方法是什麼

回答

4

您沒有指出如何處理具有相同X值的連續點。假設你考慮{1,...},{2,...},{2,...},{3,...}匹配,你可以這樣寫:

Enumerable.Range(0, list.Count - 1).All(i => list[i].X <= list[i + 1].X) 

如果他們一定要嚴格遞增,使用<而不是<=

+0

我需要考慮列表中的所有要點 – user679530

+1

我無法在MSDN上找到'Sequence'方法的文檔。你能提供一個鏈接嗎? –

+2

對不起,愚蠢的錯字(或者是布基諾?)。固定。 –