想这样做不过作为一个单一的表达:
var maxYearVolumes = volumes.Where(v => v.YEAR == maxYear);
maxYearVolumes.Max(v => v.JAN_VOLUME);
maxYearVolumes.Max(v => v.FEB_VOLUME);
maxYearVolumes.Max(v => v.MAR_VOLUME);
maxYearVolumes.Max(v => v.APR_VOLUME);
maxYearVolumes.Max(v => v.MAY_VOLUME);
maxYearVolumes.Max(v => v.JUN_VOLUME);
maxYearVolumes.Max(v => v.JUL_VOLUME);
maxYearVolumes.Max(v => v.AUG_VOLUME);
maxYearVolumes.Max(v => v.SEP_VOLUME);
maxYearVolumes.Max(v => v.OCT_VOLUME);
maxYearVolumes.Max(v => v.NOV_VOLUME);
maxYearVolumes.Max(v => v.DEC_VOLUME);
需要一个“行”,其中这些属性用每个属性的最大值填充。
1条答案
按热度按时间acruukt91#
正如@juharr在注解中提到的,可以按常量分组,然后取每个值的最大值
如果您使用Linq-To-Objects并且担心性能问题,可以使用
.Aggregate
,但是编写一个普通的foreach
循环可能更容易。