Eventuali duplicati:
Why must we define both == and != in C#?sovraccarico + =, +, == e = gli operatori
Perché sovraccarico del + = possibile solo da sovraccarico di +, ma == e! = sono sovraccaricati separatamente?
Sembra che dovrebbe essere invertito.
+ = l'overloading è quasi sempre possibile scrivere in modo più efficace perché non è necessario allocare memoria per il nuovo oggetto. Ma non riesco a inventare un esempio in cui gli operatori == e! = Dovrebbero essere diversi in qualcosa tranne che invertendo il risultato Equals().
+1 Immaginate la follia se poteste sovraccaricare '+' e '+ =' separatamente ... –
Se C# e .net non facevano cose cattive con strutture mutabili (le strutture mutevoli non sono malvagie - alcune le cose .net fa con loro lo sono), o se permettessero alle classi di limitare la malvagia condivisione promiscua dei riferimenti ai loro oggetti, sarebbe utile avere operatori separati + = e +, poiché usare l'operatore "+" implicherebbe fare un copia e lascia intatto l'originale, mentre "+ =" implica che l'originale può essere modificato. Nota, btw, che gli eventi supportano "+ =" e "- =", ma non supportano "+" e "-". – supercat