160.C# LINQ聚合 c++ 聚合
摘要
在 LINQ 的使用过程之中,有一些 LINQ 提供的额外函数可以用来获取这些数据里的属性信息,例如求得一个整数集合 IEnumerable 的最大值、平均值,或是获取总个数等等。这些函数并不是我们使用查询表达式而能够达到的基本语义,而必须使用这样的函数来达成我们需要的目的。我们把这种函数称为聚合函数(Aggregate Function)。
正文
Average | 计算集合的平均值 |
Count | 计算在收集谓词功能的元素 |
Max | 找出一个集合中的最大值 |
Min | 找出一个集合中的最小值 |
Sum | 计算一个集合中的值的总和 |
Max 和 Min 方法 最大值 最小值
List<Hero> heroes = new List<Hero>
{
new Hero("张飞",38,100,"蜀"),
new Hero("刘备",40,101,"蜀"),
new Hero("关羽",39,102,"蜀"),
new Hero("曹操",45,103,"魏"),
new Hero("孙权",31,104,"吴"),
new Hero("黄忠",45,105,"蜀"),
new Hero("夏侯惇",45,106,"魏")
};
var max = heroes.Max(x => x.Age);
var min = heroes.Min(x => x.Age);
MessageBox.Show(max.ToString()+" "+min.ToString());
Average 方法 平均数
var ave = heroes.Average(x => x.Age);
Count 方法 集合里到底有多少个元素。
var count = heroes.Count();
Any 是否有元素
var count = heroes.Any();
var count = heroes.Any(x=>x.Age>40);
Sum合计
var sum = heroes.Sum(x=>x.Age);