Nein, == und != sind arithmetische Vergleichsoperatoren, während ! ein unärer Operator ist.
! dreht einfach den booleschen Wert um. Aus true wird false und umgekehrt.
Überlädst Du aber bsw. die Vergleichsoperatoren == und != dann gibt es ein Spezialfall, wo ! ein unerwartetes Ergebnis bringt.
Code:
public static bool operator==(object obj1, object obj2)
{
return obj1.Equals(obj2)
}
public static bool operator!=(object obj1, object obj2)
{
if obj1.Equals(obj2) then
return true
return false
}
Nun ergibt zwar !(1==1) immer noch false, aber 1!=1 ergibt nun true.