有没有办法将可迭代对象减少为单个值?在javascript中,这可以这样做:
var array = [{num: 1}, {num: 10}, {num: 5}];
var result = array.reduce((cur, val) => val.num > cur ? val.num : cur, 0);
console.log(result);

以上将返回对象数组中的最大数字。
目前在C#
我使用foreach
来查找最大的项目,但是内置函数是否与上面的javascript reduce
方法类似?
答案 0 :(得分:2)
LINQ中等效的reduce是Aggregate
var nums = Enumerable.Range(0, 10);
var max = nums.Aggregate(Int32.MinValue, (acc,elem) => acc < elem ? elem : acc);