使用lambda从合约中选择最大值

时间:2015-04-09 16:19:12

标签: vb.net lambda

我试图找到旧的和新的匹配合同,如果找到匹配选择最高执行价格,但我不需要给我一个小数,我需要给我一个条目。我怎么能正确地做到这一点?

Dim Contract as Entry = iContracts.Values.Where(Function(a) a.UnderlyingSymbol = iNew_Contract.UnderlyingSymbol).Max(Function(x) x.StrikePrice)

Value of type 'Decimal' cannot be converted to Entry

1 个答案:

答案 0 :(得分:4)

使用Where筛选,然后按StrikePrice排序:

Dim Contract as Entry = iContracts.Values
                        .Where(Function(a) a.UnderlyingSymbol = New_Contract.UnderlyingSymbol)
                        .OrderByDescending(Function(a) a.StrikePrice).FirstOrDefault