Интересно, было ли такое когда-либо или остается в .Net.
Используйте exp += val вместо exp = exp + val. Поскольку exp может быть
сколь угодно сложным, это может привести к большому количеству ненужной работы. Это
вынуждает JIT оценивать обе копии exp, и во многих случаях это
не требуется. Первый оператор можно оптимизировать гораздо лучше, чем
второй, поскольку JIT позволяет избежать повторного вычисления выражения.
Это взято из древней статьи в codeproject.
И есть еще один в cpp:
Однако выражение составного присваивания не является эквивалентно
расширенной версии, поскольку составное выражение присваивания оценивает
выражение1 только один раз, тогда как расширенная версия оценивает
выражение1 дважды: в операции сложения и в операции присваивания
.
Подробнее здесь: https://stackoverflow.com/questions/634 ... ent-in-net