当前位置:  开发笔记 > 编程语言 > 正文

使用LINQ计算产品

如何解决《使用LINQ计算产品》经验,为你挑选了1个好方法。



1> Greg Beech..:

这可行:

var product = vals.Aggregate(1, (acc, val) => acc * val);

你从一个种子开始,1然后用两个参数为你的每个值调用函数,acc这两个参数是当前的累积值,val它是数组中的值; 该函数将当前累计值乘以数组中的值,并将该表达式的结果传递acc给下一个函数.即,您提供的数组的函数调用链将是:

(1, 1) => 1
(1, 3) => 3
(3, 5) => 15


我认为你不需要种子.如果没有提供种子,`Aggregate`将使用列表中的前两项.
@Juan无种子版本将为空源https引用异常https://referencesource.microsoft.com/#System.Core/System/Linq/Enumerable.cs,ff1369203d6036a4
使用var是个人/团队的决定.就个人而言,我不认为类型信息非常有用,并且会分散您对代码的*目的*的注意力.我在这里写了这篇文章:http://gregbeech.com/blogs/tech/archive/2008/03/24/to-var-or-not-to-var-implicit-typing-is-the-question.aspx
推荐阅读
和谐啄木鸟
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有