LINQ с лямбда. заполнитель - PullRequest
0 голосов
/ 05 апреля 2020

Почему здесь результат 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'))

Как это работает?

1 Ответ

3 голосов
/ 05 апреля 2020

В обоих примерах a - это int, а b - это char.

a - это ваше семя, = 1, а b - это значение Unicode: ' 2 ', = 50. Следовательно, результат в первом случае равен 50.

Значение Юникода' 0 'равно 48, поэтому результат равен 2.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...