可以从最小Lambda表达式返回两个字段

本文关键字:字段 两个 返回 表达式 Lambda | 更新日期: 2023-09-27 18:26:43

是否可以使用Lambda表达式返回自定义类列表中一个字段(ProgramQuantity)和该类中另一个字段的最小值(ProgramPrice)?如果是的话,它会是什么样子?

decimal listMinQty = 0;
     List<PriceLevel> TrackPrice = new List<PriceLevel>();
        // add data to list here ...
        listMinQty = TrackPrice.Min(c => c.ProgramQuantity);// CAN I RETURN more than ProgramQuantity?
    }
            public class PriceLevel
    {
        public decimal ProgramPrice         { get; set; }
        public int ProgramQuantity          { get; set; }
        public DateTime ProgramLastTime     { get; set; }// Last Order Time
    }

可以从最小Lambda表达式返回两个字段

如果您想找到获得Min的项目,可以这样做:

var minItem = TrackPrice.OrderBy(c => c.ProgramQuantity).First();

现在您可以使用minItem.ProgramQuantityminItem.ProgramPrice

您也可以使用MinBy扩展来避免排序:

var minItem = TrackPrice.MinBy(c => c.ProgramQuantity);
var minQty = minItem.ProgramQuantity;
var priceOfMin = minItem.ProgramPrice;