标签:
int i = 10;
int[] numbers = { 1, 2, 3 };
// 1+2+3 = 6
int a = numbers.Aggregate((prod, n) => prod + n);
// 10+1+2+3 = 16
int b = numbers.Aggregate(i, (prod, n) => prod + n);
// (10+1+2+3)*2 = 32
int c = numbers.Aggregate(i, (prod, n) => prod + n , r => (r * 2));
Aggregate的第一个参数是算法的种子,即初始值。第二个参数是一个表达式,用来对每个元素进行计算(委托第一个参数是累加变量,第二个参数当前项)。第三个参数是一个表达式,用来对最终结果进行数据转换。
标签:
原文地址:http://www.cnblogs.com/citygs/p/4651744.html