繁体   English   中英

Linq Min()非零值

[英]Linq Min() of Non-zero values

我有一个带有OneStopPrice; MultiStopPrice; NonStopPrice列的表OneStopPrice; MultiStopPrice; NonStopPrice OneStopPrice; MultiStopPrice; NonStopPrice OneStopPrice; MultiStopPrice; NonStopPrice 我希望所有3列都具有Min() 但是,如果任何列的Min()为0,则必须将其忽略。

OneStop | NonStop | MultiStop
-----------------------------
233.23  | 0.0     | 355.23

然后必须将NonStop视为最高值,以便忽略它。

任何人有使用LinQ想法吗?

我使用查询如下:

var data = odyResults.GroupBy(logEle => new { logEle.Air.FromCity, logEle.Air.ToCity }, (key, group) => new{
       FromCity = key.FromCity,
       ToCity = key.ToCity,
       OneStopPrice = group.Min(x=>x.Air.OneStopPrice),
       MultiStopPrice = group.Min(x => x.Air.MultiStopPrice),
       NonStopPrice = group.Min(x => x.Air.NonStopPrice),
       FromToCityCount = group.Count()
      });

只需滤除零即可:

NonStopPrice = group.Where(x => x.Air.NonStopPrice > 0)
                    .Min(x => x.Air.NonStopPrice),

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM