我有一个这样的课程
class car
{
public string carName { get; set; }
public decimal price { get; set; }//Group id
}
I have two lists like this
List<car> listCars = new List<car>();
List<car> lowest = new List<car>();
我想在listCars列表中搜索价格最低的汽车,并将最低价格的汽车对象添加到最低价格。
var minPrice = lstCars.Min(carobj=>carobj.price);
但在此只能获得最低汽车价格。我想获取汽车对象并将其添加到最低列表中。 怎么做?
答案 0 :(得分:2)
您可以按照Price
按升序对汽车进行分类,然后获得价格最低的第一辆汽车:
lowest.Add(listCars.OrderBy(car => car.price).First());
你也可以使用MinBy
方法,对于更大的列表会更有效,因为订购费用很高。
答案 1 :(得分:1)
多种方式。您可以使用OrderBy
,然后选择First
,也可以使用已经过时的minPrice
代码:
var minPrice = lstCars.Min(carobj=>carobj.price);
lowest.Add(listCars.FirstOrDefault(r=> r.price == minPrice));
答案 2 :(得分:0)
string
的最低价格?这是一个价格,那么我会使用decimal
。如果您还想添加价格最低的所有汽车:
var minPriceGroup = listCars
.Select(c => new { Car = c, Price = decimal.Parse(c.price) })
.OrderBy(x => x.Price)
.GroupBy(x => x.Price)
.First();
lowest.AddRange(minPriceGroup.Select(x => x.Car));