使用lambda迭代两个数组

时间:2017-01-07 02:52:41

标签: c# lambda

我正在尝试用C#教自己lambda表达式,而我似乎已经把自己弄得一团糟......

这基本上是我想要完成的,请假设ar1& ar2将始终具有相同的长度。

    double sum = 0;

    for(int x=0; x<size; x++){
        sum += (ar1[x]*ar2[x]);
    }

注意数组正在成倍增加。

是否有可以在一行中完成此操作的Lambda函数?

谢谢

1 个答案:

答案 0 :(得分:5)

double sum = ar1.Zip(ar2, (a1, a2) => a1 * a2).Sum();

Zip - 将lambda应用于两个序列的相应元素

Sum - 计算结果总和