Вы можете использовать синтаксис деконструкции кортежа , введенный в C# 7, для записи
a += 1;
b -= 1;
в одну строку:
(a, b) = (a + 1, b - 1);
Обратите внимание, что в отличие от Исходные утверждения, это будет оценивать a
и b
дважды. Это хорошо, если a
и b
являются локальными переменными, но не если a
и b
имеют побочные эффекты. Я лично считаю, что оригинальную двухстрочную версию легче читать.
a += b -= 1
не означает то же самое. Это значит:
int temp = b - 1;
b = temp;
a += temp;