首页 > Windows开发 > 详细

c# Aggregate使用

时间:2017-01-06 12:11:43      阅读:1125      评论:0      收藏:0      [点我收藏+]

 直接上代码:

技术分享
IEnumerable<int> list = Enumerable.Range(2, 10);
int all = list.Aggregate((sum, index) => sum + index);
View Code

调试, 第一次调用,发现sum和index分别取列表的第1和第2个值:

技术分享

F5下一步,发现把index加到sum了 (sum += index), 然后index取下一个值, 并累积到sum,重复此步骤直到取完列表中的值:

技术分享

最后计算结果是65

 

另外2个重载函数:

技术分享
int all = list.Aggregate(10, (sum, index) => sum + index);
View Code

第2个参数与上一个例子参数一样,累积列表中值,第1个参数于累积值要应用这个初始值,在这里相当于用10加65,计算结果75。

 

技术分享
bool is75 = list.Aggregate(10, (sum, index) => sum + index, res => res == 75);
View Code

第1第2个参数同上,第3个参数是对累积结果做判断,在这里判断累积结果是否等于75,计算结果是true。

从中可以发现,list.Aggregate((sum, index) => sum + index)其实是list.Aggregate(0, (sum, index) => sum + index)的特例,相当于初始值为0而已。

 

c# Aggregate使用

原文:http://www.cnblogs.com/gujf2016/p/6255577.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!