C# 使用linq计算列表中前3项的平均值
我已经拼凑了一个我认为可以解决我想做的事情的解决方案,基于这个主题的其他线程返回列表中特定数量的项目,但我认为我的语法有一点错误,它不允许我对所取的项目求和 以下是我所拥有的:C# 使用linq计算列表中前3项的平均值,c#,list,linq,average,C#,List,Linq,Average,我已经拼凑了一个我认为可以解决我想做的事情的解决方案,基于这个主题的其他线程返回列表中特定数量的项目,但我认为我的语法有一点错误,它不允许我对所取的项目求和 以下是我所拥有的: public decimal average_of_items_examples(List<Car> cars) { if (cars == null) { return 0; }
public decimal average_of_items_examples(List<Car> cars)
{
if (cars == null)
{
return 0;
}
else if (cars.Count == 0)
{
return 0;
}
else
{
return cars.OrderBy(x => x.SuggestedRetailPrice).Take(3).Average();
}
}
我感谢任何帮助和解释
编辑:对不起,我忘了添加为什么我有OrderBy部件。我只想要3辆便宜车的平均价格
注意:我不能更改decimal类型,因为练习是这样写的
.Average(x => x.SuggestedRetailPrice)
您必须指定要获得平均值的属性,因为集合用于汽车对象
您必须指定要获得平均值的属性,因为该集合用于汽车对象两者:
cars.OrderBy(x => x.SuggestedRetailPrice).Take(3).Select(z => z.SuggestedRetailPrice).Average();
以及:
我会做你需要的
两者基本相同。两者:
cars.OrderBy(x => x.SuggestedRetailPrice).Take(3).Select(z => z.SuggestedRetailPrice).Average();
以及:
我会做你需要的
它们基本上是一样的。你想平均多少?建议的具体价格?是的。我相信是的,因为这是唯一的逻辑参数,是一个十进制值。对不起,我添加了澄清信息,我只想知道列表中3辆最便宜汽车的平均价格,因此我的原始订单Y您想平均多少?建议的具体价格?是的。我相信是的,因为这是唯一的逻辑参数,是一个十进制值。很抱歉,我添加了澄清信息,我只想知道列表中3辆最便宜汽车的平均价格,因此我的原始订单