[英]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.