读取C#中计算数字乘法的实现的最简单方法是什么?
用于Exp:数字:12587 => Result : 1*2*5*8*7=560
对于数字总和,我们有以下Lambda表达式:
number.ToString().Sum(x=>x-'0');
我希望乘以相同的表达式
答案 0 :(得分:7)
没有与Sum
等效的乘法,但是您可以使用Aggregate
:
number => number.ToString().Aggregate(1, (acc, digit) => acc * (digit - '0'))
我很想从聚合中分离出“将数字转换为整数”部分:
number => number.ToString()
.Select(c => c - '0')
.Aggregate(1, (acc, next) => acc * next)