LINQ 标准的查询操作符 合计操作符 Count()、Sum()、Min()、Max()、Average()和Aggregate()
2009-10-07 18:37
489 查看
合计操作符如Count()、Sum()、Min()、Max()、Average()和Aggregate(),不返回一个序列,而返回一个值。
Count()扩展方法返回集合中的项数。下面的Count()方法应用于Racer的Years属性,过滤赛手,只返回
获得冠军次数超过3次的赛手:
结果如下:
MichaelSchumacher7
JuanManuelFangio5
AlainProst4
Sum()方法汇总序列中的所有数字,返回这些数字的和。
下面的Sum()用于计算一个国家赢得比赛的总次数。
首先根据国家,对赛手进行分组,再在新创建的匿名类型中,给Wins属性赋予某个国家赢得比赛的总次数。和SQL一个道理
根据获得一级方程式冠军的次数,最成功的国家是:
UK138
Germany91
Brazil78
France51
Finland40
方法Min()、Max()、Average()和Aggregate()的使用方式与Count()和Sum()相同。
Min()返回集合中的最小值,
Max()返回集合中的最大值,
Average()计算集合中的平均值。
对于Aggregate()方法,可以传送一个λ表达式,对所有的值进行汇总。
Count()扩展方法返回集合中的项数。下面的Count()方法应用于Racer的Years属性,过滤赛手,只返回
获得冠军次数超过3次的赛手:
privatestaticvoidQuantifiersCount() { varracers=fromrinFormula1.GetChampions() wherer.Years.Count()>=3//对集合中的子对象集合操作 orderbyr.Years.Count()descending selectnew { Name=r.FirstName+""+r.LastName, TimesChampion=r.Years.Count() };//匿名对象 foreach(varrinracers) { Console.WriteLine("{0}{1}",r.Name,r.TimesChampion); } }
结果如下:
MichaelSchumacher7
JuanManuelFangio5
AlainProst4
Sum()方法汇总序列中的所有数字,返回这些数字的和。
下面的Sum()用于计算一个国家赢得比赛的总次数。
首先根据国家,对赛手进行分组,再在新创建的匿名类型中,给Wins属性赋予某个国家赢得比赛的总次数。和SQL一个道理
privatestaticvoidQuantifiersSum() { varcountries=(fromcin fromrinFormula1.GetChampions() grouprbyr.Countryintoc//国家分组c来做结果集 selectnew { Country=c.Key, Wins=(fromr1inc selectr1.Wins).Sum()//统计 } orderbyc.Winsdescending,c.Country//夺冠次数降序,国家名升序 selectc).Take(5);//取出5个 foreach(varcountryincountries) { Console.WriteLine("{0}{1}",country.Country,country.Wins); } }
根据获得一级方程式冠军的次数,最成功的国家是:
UK138
Germany91
Brazil78
France51
Finland40
方法Min()、Max()、Average()和Aggregate()的使用方式与Count()和Sum()相同。
Min()返回集合中的最小值,
Max()返回集合中的最大值,
Average()计算集合中的平均值。
对于Aggregate()方法,可以传送一个λ表达式,对所有的值进行汇总。
相关文章推荐
- LINQ 标准的查询操作符 合计操作符 Count()、Sum()、Min()、Max()、Average()和Aggregate()
- LINQ 标准的查询操作符 合计操作符 Count()、Sum()、Min()、Max()、Average()和Aggregate()
- LINQ 标准的查询操作符 合计操作符 Count()、Sum()、Min()、Max()、Average()和Aggregate()
- 7、步步为营VS 2008 + .NET 3.5(7) - LINQ查询操作符之First、FirstOrDefault、Last、LastOrDefault、ElementAt、ElementAtOrDefault、Contains、Any、All、Count、LongCount、Sum、Min、Max、Average、Aggregate、Cast、DefaultIfEmpty、SequenceEqual、OfType、ToArray、ToList、ToDictionary
- 步步为营VS 2008 + .NET 3.5(7) - LINQ查询操作符之First、FirstOrDefault、Last、LastOrDefault、ElementAt、ElementAtOrDefault、Contains、Any、All、Count、LongCount、Sum、Min、Max、Average、Aggregate、Cast、DefaultIfEmpty、SequenceEqual、OfType、ToArray、ToList、ToDictionary
- Linq查询操作之聚合操作(count,max,min,sum,average,aggregate,longcount)
- Linq查询Count、Sum、Min、Max、Average
- linq to sql 语句基本查询(3):Select和Count/Sum/Min/Max/Avg
- 单表-------主键、外键、选择操作,like操作符,in 批量查询、排序order by、表的复杂查询---分组函数(max/min/agv/sum/count)、group by、having
- [导入]Linq学习笔记(1.8)——Count、Sum、Min、Max、Average
- linq to sql 语句基本查询(3):Select和Count/Sum/Min/Max/Avg
- RX操作符之算术和聚合操作(averageInteger、min、max、count、sum、contact、reduce、collect)
- Linq——Count、Sum、Min、Max、Average
- Linq——Count、Sum、Min、Max、Average
- linq to sql (Group By/Having/Count/Sum/Min/Max/Avg操作符) (转帖)
- Linq——Count、Sum、Min、Max、Average
- LINQ体验(5)——LINQ to SQL语句之Select/Distinct和Count/Sum/Min/Max/Avg
- LINQ to SQL语句(3)之Count/Sum/Min/Max/Avg
- LINQ体验(5)——LINQ to SQL语句之Select/Distinct和Count/Sum/Min/Max/Avg
- Linq学习笔记(1.8)——Count、Sum、Min、Max、Average