获得最大对象列表中的值 [英] Get the max. value in List of objects
本文介绍了获得最大对象列表中的值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有以下课程.
public class PriceDetails
{
public float AverageNightlyRate { get; set; }
}
public class RoomContainer
{
public PriceDetails RoomPriceDetails { get; set; }
public string PromotionDescription { get; set; }
}
public List<RoomContainer> HotelRooms { get; set; }
列表 HotelRooms 有10个项目. 我想找到 AverageNightlyRate 的最大值.
The list HotelRooms has 10 items. I want to find the maximum value of AverageNightlyRate.
我正在使用for循环进行迭代. 我可以高效地做到这一点吗?
I am using for loop to iterate . Can I do it in an efficient manner ?
推荐答案
使用 Enumerable.Max :
var maxAverageRate = HotelRooms.Max(r => r.RoomPriceDetails.AverageNightlyRate)
如果RoomPriceDetails
可能是null
,则:
If RoomPriceDetails
could be null
, then:
var maxAverageRate = HotelRooms.Where(r => r.RoomPriceDetails != null)
.Max(r => r.RoomPriceDetails.AverageNightlyRate);
或
var maxAverageRate = HotelRooms.Select(room => room.RoomPriceDetails)
.Where(price => price != null)
.Max(price => price.AverageNightlyRate);
这篇关于获得最大对象列表中的值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文