Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用linq计算列表中前3项的平均值_C#_List_Linq_Average - Fatal编程技术网

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辆最便宜汽车的平均价格,因此我的原始订单