我正在尝试用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函数可以在一行中完成此任务?
谢谢
double sum = ar1.Zip(ar2, (a1, a2) => a1 * a2).Sum();
Run Code Online (Sandbox Code Playgroud)
Zip - 将lambda应用于两个序列的相应元素
总和 - 计算结果总和
| 归档时间: |
|
| 查看次数: |
393 次 |
| 最近记录: |