Freigeben über


Vergleichsoperatoren (C#-Referenz)

Der < (kleiner als), > (größer als), <= (kleiner als oder gleich) und >= (größer als oder gleich) Vergleich, auch als relational bezeichnete Operatoren vergleichen ihre Operanden. Alle integralen und gleitkommabezogenen numerischen Typen unterstützen diese Operatoren.

Die C#-Sprachreferenz dokumentiert die zuletzt veröffentlichte Version der C#-Sprache. Außerdem enthält sie eine erste Dokumentation zu Funktionen in der öffentlichen Vorschau für die kommende Sprachversion.

In der Dokumentation werden alle Features identifiziert, die in den letzten drei Versionen der Sprache oder in der aktuellen öffentlichen Vorschau eingeführt wurden.

Tipp

Informationen dazu, wann ein Feature erstmals in C# eingeführt wurde, finden Sie im Artikel zum Versionsverlauf der C#-Sprache.

Hinweis

Für die ==Operatoren , <, >und , <=>= wenn einer der Operanden keine Zahl (Double.NaN oder Single.NaN) ist, ist falsedas Ergebnis des Vorgangs . Dieses Verhalten bedeutet, dass der NaN Wert weder größer als, kleiner als noch gleich einem anderen double (oder float) Wert ist, einschließlich NaN. Weitere Informationen und Beispiele finden Sie im Double.NaN Artikel oder Single.NaN Referenzartikel.

Der Zeichentyp unterstützt auch Vergleichsoperatoren. Wenn Sie Operanden verwenden char , werden die entsprechenden Zeichencodes verglichen.

Enumerationstypen unterstützen auch Vergleichsoperatoren. Bei Operanden desselben Enumerationstyps werden die entsprechenden Werte des zugrunde liegenden integralen Typs verglichen.

Die == Operatoren überprüfen, != ob ihre Operanden gleich sind oder nicht.

Kleiner als Operator <

Der < Operator gibt zurück true , wenn der linke Operand kleiner als der rechte Operand ist, false andernfalls:

Console.WriteLine(7.0 < 5.1);   // output: False
Console.WriteLine(5.1 < 5.1);   // output: False
Console.WriteLine(0.0 < 5.1);   // output: True

Console.WriteLine(double.NaN < 5.1);   // output: False
Console.WriteLine(double.NaN >= 5.1);  // output: False

Größer als-Operator >

Der > Operator gibt zurück true , wenn der linke Operand größer als der rechte Operand ist, false andernfalls:

Console.WriteLine(7.0 > 5.1);   // output: True
Console.WriteLine(5.1 > 5.1);   // output: False
Console.WriteLine(0.0 > 5.1);   // output: False

Console.WriteLine(double.NaN > 5.1);   // output: False
Console.WriteLine(double.NaN <= 5.1);  // output: False

Kleiner oder gleicher Operator <=

Der <= Operator gibt zurück true , wenn der linke Operand kleiner oder gleich dem rechten Operanden ist. Andernfalls wird folgendes zurückgegeben false:

Console.WriteLine(7.0 <= 5.1);   // output: False
Console.WriteLine(5.1 <= 5.1);   // output: True
Console.WriteLine(0.0 <= 5.1);   // output: True

Console.WriteLine(double.NaN > 5.1);   // output: False
Console.WriteLine(double.NaN <= 5.1);  // output: False

Größer als oder gleicher Operator >=

Der >= Operator gibt zurück true , wenn der linke Operand größer oder gleich dem rechten Operanden ist. Andernfalls wird folgendes zurückgegeben false:

Console.WriteLine(7.0 >= 5.1);   // output: True
Console.WriteLine(5.1 >= 5.1);   // output: True
Console.WriteLine(0.0 >= 5.1);   // output: False

Console.WriteLine(double.NaN < 5.1);   // output: False
Console.WriteLine(double.NaN >= 5.1);  // output: False

Überlastbarkeit des Operators

Sie können die <=<>Operatoren und >= Operatoren in einem benutzerdefinierten Typ überladen.

Wenn Sie einen der < Operatoren > überladen, müssen Sie beide < und >. Wenn Sie einen der <= Operatoren >= überladen, müssen Sie beide <= und >=.

C#-Sprachspezifikation

Weitere Informationen finden Sie im Abschnitt " Relationale und Typtestoperatoren " der C#-Sprachspezifikation.

Siehe auch