2013-05-15 86 views
0

我有一個從連接表中獲得的列表,此列表具有低範圍和高範圍值,目標是選擇具有最大LowRange值的行,在下面的例子中,根據屬性的最大值對列表進行排序的簡單方法

我選擇率爲15.5,因爲它具有最高的lowrange VAL

Rate  LowRange HighRange 
    --------------------------------------- 
    12.5  300000  0 
    15.5  1500000  300001 
    17.5  NULL  1500001 

任何想法如何,我可以使用LINQ實現這一點,C#將是幫助

回答

2

@ConongLe有最簡單的答案。

有一個很好的擴展到LINQ(最初寫的喬恩斯基特作爲MoreLinq一部分,或者也see here)呼籲MaxBy()這將讓你這樣做:

var max = list.MaxBy(item => item.LowRange); 

這是因爲它有很多更有效只有O(N),而OrderByDecending()O(N*Log(n))

+0

感謝馬修沃森和stackoverflow – gaganHR

2

您可以OrderByDescendingLowRange然後得到First

list.OrderByDescending(x => x.LowRange).First(); 
+0

感謝您的快速回復:)讓我試試 – gaganHR

相關問題