可迭代对象:减少到单个值

Iterable object: Reduce to a single value

有没有办法将可迭代对象缩减为单个值?在 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);

以上将return对象数组中的最大数。

目前在 C# 我正在使用 foreach 来查找最大的项目,但是是否有类似于上面的 javascript reduce 方法的内置函数?

在 LINQ 中 reduce 的等价物是 Aggregate

var nums = Enumerable.Range(0, 10);

var max = nums.Aggregate(Int32.MinValue, (acc,elem) => acc < elem ? elem : acc);