Last updated 5 years ago
Was this helpful?
1
Конструкция
a += Foo();
развернётся в
a = a + Foo();
Сначала оценится левый операнд a, равный нулю. Затем оценится правый операнд, который вернёт 1. В итоге в a запишется значение 1, не смотря на то, что внутри метода Foo произошло переприсвоение поля a.
a
Foo