LINQ with Lambda. Aggregate



为什么这里的结果是50而不是2?

int n = 2; n = n.ToString().Aggregate(1, (a, b) => a * b)

但这里是2?

int n = 2; n = n.ToString().Aggregate(1, (a, b) => a * (b -'0'))

它是如何工作的?

在两个样本中,aintbchar

a是您的种子,=1,b是'2'的unicode值,=50。因此,在第一种情况下的结果是50。

"0"的unicode值为48,因此结果为2。

最新更新