概述
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
注:可以将
int
、decimal
、double
或float
等数字类型应用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
发表评论
登录用户才能发表评论, 请 登 录 或者 注册