是否可以使用Lambda表达式返回自定义类的List中的一个字段(ProgramQuantity)的最小值以及该类中的另一个字段(Program Price)?如果是这样,它会是什么样子?
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
}
答案 0 :(得分:1)
如果您想找到获得Min
的商品,可以这样做:
var minItem = TrackPrice.OrderBy(c => c.ProgramQuantity).First();
现在您可以minItem.ProgramQuantity
和minItem.ProgramPrice
。
您还可以使用MinBy
扩展程序来避免排序:
var minItem = TrackPrice.MinBy(c => c.ProgramQuantity);
var minQty = minItem.ProgramQuantity;
var priceOfMin = minItem.ProgramPrice;