首页 / 教程列表 / LINQ教程 / LINQ操作符之Average

LINQ操作符之Average

1064 更新于: 2022-04-26 读完约需 5 分钟

概述

C#语言中LINQ的Average方法用于计算应用该方法的集合中的数值的平均值。这个Average方法可以返回可为空或不可为空的十进制、浮点或双精度值。接下来,我们通过一些示例来理解Average()方法。

Average示例一

以下是一个使用LINQ的Average方法计算整数集合numbers平均数的示例:

using System;
using System.Linq;

namespace LinqTutorial
{
    public class MyProgram
    {
        static void Main(string[] args)
        {
            var numbers = new[] { 20, 30, 50, 60 };
            var avg = numbers.Average();
            Console.WriteLine($"集合numbers的平均数为:{avg}");
            Console.Read();
        }
    }
}

运行结果:

集合numbers的平均数为:40

注:可以将intdecimaldoublefloat等数字类型应用Average方法,以获取其平均值。

Average示例二

除了对数字类型的集合直接调用Average()方法外,还可对集合进行数据过滤后再调用Average()方法,如下:

using System;
using System.Linq;

namespace LinqTutorial
{
    public class MyProgram
    {
        static void Main(string[] args)
        {
            var numbers = new[] { 20, 30, 50, 60 };
            var avg = numbers.Where(x => x > 30).Average();
            Console.WriteLine($"集合numbers的平均数为:{avg}");
            Console.Read();
        }
    }
}

运行结果:

集合numbers的平均数为:55

Average示例三

Average方法还可对复杂类型的数字属性进行求平均数的操作。比如,以本系列的订单集合为例,求订单的均价。示例如下:

using System;
using System.Linq;

namespace LinqTutorial
{
    public class MyProgram
    {
        static void Main(string[] args)
        {
            var orders = FakeData.Orders;
            var avg = orders.Average(x => x.Price);
            Console.WriteLine($"订单的平均价格为:{avg}");
            Console.Read();
        }
    }
}

运行结果:

订单的平均价格为:3727.3333333333335

版权声明:本作品系原创,版权归码友网所有,如未经许可,禁止任何形式转载,违者必究。

本文永久链接码友网 » LINQ教程 » LINQ操作符之Average 分享:

发表评论

登录用户才能发表评论, 请 登 录 或者 注册