我在做对时遇到了一些麻烦。
我需要为列表中的列表中的列表选择最小值和最大值
有没有想过如何创建优化的类型?
var range = allFilteredCars
.SelectMany(car => car.LeasingPlans
.SelectMany(plan => plan.Durations)
.Select(a => a.MonthlyPrice))
.ToList();
var min = range.Min();
var max = range.Max();
最后的Min()
和Max()
感觉不太对。
有什么想法吗?
最佳答案
我只能想到一种方法来计算 min
和 max
只需在整个集合上迭代一次,这可以使用 foreach
循环
var min = Int32.MaxValue;
var max = Int32.MinValue;
foreach(var filteredCard in allFilteredCars)
{
foreach(var leasingPlan in filteredCard.LeasingPlans)
{
foreach(var car in leasingPlan.Durations)
{
if(car.MonthlyPrice < min)
min = car.MonthlyPrice;
else if(car.MonthlyPrice > max)
max = car.MonthlyPrice;
}
}
}
Assuming
MonthlyPrice
is ofInt
关于c# - LINQ Min() 和 Max() 优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50619744/