Ответ 1
Почему логические операторы остались в стороне? Есть ли хорошая техническая причина, почему это трудно?
Они не. Вы можете сделать &=
или |=
или ^=
, если хотите.
bool b1 = false;
bool b2 = true;
b1 |= b2; // means b1 = b1 | b2
Операторы ||
и &&
не имеют составной формы, потому что, честно говоря, они немного глупы. При каких обстоятельствах вы хотите сказать
b1 ||= b2;
b1 &&= b2;
так что правая часть не оценивается, если левая сторона не изменяется? Кажется, что только некоторые люди действительно используют эту функцию, поэтому зачем ее помещать?
Для получения дополнительной информации о составных операторах см. мою серьезную статью здесь:
http://blogs.msdn.com/b/ericlippert/archive/2011/03/29/compound-assignment-part-one.aspx
и последующую статью April-Fools:
http://blogs.msdn.com/b/ericlippert/archive/2011/04/01/compound-assignment-part-two.aspx