可以从Minimum Lambda表达式返回两个字段吗?

时间:2015-12-14 18:51:48

标签: c# lambda

是否可以使用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
    }

1 个答案:

答案 0 :(得分:1)

如果您想找到获得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;