使用lambda迭代两个数组

Nef*_*iis 2 c# lambda

我正在尝试用C#教自己lambda表达式,我似乎已经把自己弄糊涂了......

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

    double sum = 0;

    for(int x=0; x<size; x++){
        sum += (ar1[x]*ar2[x]);
    }
Run Code Online (Sandbox Code Playgroud)

请注意,数组正在成倍增加.

是否有Lambda函数可以在一行中完成此任务?

谢谢

Ser*_*kiy 5

double sum = ar1.Zip(ar2, (a1, a2) => a1 * a2).Sum();
Run Code Online (Sandbox Code Playgroud)

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

总和 - 计算结果总和