C#中的数字乘法

时间:2019-02-24 10:32:23

标签: c# lambda

读取C#中计算数字乘法的实现的最简单方法是什么?

用于Exp:数字:12587 => Result : 1*2*5*8*7=560

对于数字总和,我们有以下Lambda表达式:

number.ToString().Sum(x=>x-'0');

我希望乘以相同的表达式

1 个答案:

答案 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)