Console.WriteLine(-2 & -3); // -4
Это всё булева логика, представь числа в двоичном представлении, примени операцию для каждого бита и всё станет понятней.
Но |= , &= - что они делают?
Если ты понимаешь, что происходит с +=, то почему возникает вопрос с этими, меняется ведь только операция?