2013-05-15 87 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

相关问题