Operator != (C#-Referenz)

Aktualisiert: November 2007

Der Ungleichheitsoperator (!=) gibt false zurück, wenn seine Operanden gleich sind, andernfalls gibt er true zurück. Ungleichheitsoperatoren sind für alle Typen vordefiniert, einschließlich string und object. Benutzerdefinierte Typen können den Operator != überladen.

Hinweise

Für vordefinierte Werttypen gibt der Ungleichheitsoperator (!=) den Wert true zurück, wenn seine Operanden verschieden sind. Andernfalls gibt er false zurück. Für andere Referenztypen als string gibt != den Wert true zurück, wenn seine beiden Operanden auf verschiedene Objekte verweisen. Für den string-Typ vergleicht != die Werte der Zeichenfolgen.

Benutzerdefinierte Werttypen können den Operator != überladen (siehe Operator). Dies ist auch bei benutzerdefinierten Referenztypen möglich, obwohl sich != standardmäßig sowohl für vordefinierte als auch für benutzerdefinierte Referenztypen wie oben beschrieben verhält. Wenn != überladen wird, muss auch == überladen werden. Operationen mit Ganzzahltypen sind bei der Enumeration grundsätzlich zulässig.

Beispiel

class InequalityTest
{
    static void Main()
    {
        // Numeric inequality:
        Console.WriteLine((2 + 2) != 4);

        // Reference equality: two objects, same boxed value
        object s = 1;
        object t = 1;
        Console.WriteLine(s != t);

        // String equality: same string value, same string objects
        string a = "hello";
        string b = "hello";

        // compare string values
        Console.WriteLine(a != b);

        // compare string references
        Console.WriteLine((object)a != (object)b);
    }
}
/*
Output:
False
True
False
False
*/

Siehe auch

Konzepte

C#-Programmierhandbuch

Referenz

C#-Operatoren

Weitere Ressourcen

C#-Referenz