Was sind Vergleichsoperator in C Sharp?
In C # ist ein Vergleichsoperator ein binärer Operator, der zwei Operanden verwendet, deren Werte verglichen werden. Vergleichsoperatoren werden in bedingten Anweisungen verwendet, insbesondere in Schleifen, wobei das Ergebnis des Vergleichs entscheidet, ob die Ausführung fortgesetzt werden soll. Sie bilden den Schlüssel zur Programmablaufsteuerung, die als bedingte Verarbeitung bezeichnet wird.
Vergleichsoperatoren umfassen:
Gleichheitsoperator (==), gibt für Operanden, deren Werte gleich sind, den Wert true zurück.
Ungleichheitsoperator (! =), Gibt false zurück, wenn zwei Operanden gleich sind.
Kleiner als relationaler Operator (<), der für alle numerischen Typen und Aufzählungstypen definiert ist und Wahr zurückgibt, wenn der erste Operand kleiner als der zweite Operand ist. Größer als relationaler Operator (>), der für alle numerischen Typen und Aufzählungstypen definiert ist und den Wert true zurückgibt, wenn der erste Operand größer als der zweite Operand ist.
Kleiner als oder gleich dem Vergleichsoperator (<=), der für alle numerischen Typen und Aufzählungstypen definiert ist, und gibt true zurück, wenn der erste Operand kleiner oder gleich dem zweiten Operanden ist. Größer als oder gleich dem Vergleichsoperator (> =), der für alle numerischen Typen und Aufzählungstypen definiert ist, und gibt true zurück, wenn der erste Operand größer oder gleich dem zweiten Operanden ist.
Vergleichsoperatoren werden auch als relationale Operatoren bezeichnet.
Vergleichsoperatoren haben folgende Merkmale:
Arbeiten Sie mit einem Variablentyp und geben Sie einen Wert vom Typ bool zurück.
Kann nicht direkt zum Vergleich von Objekten vom benutzerdefinierten Typ verwendet werden. Wenn ein Vergleichsoperator verwendet wird, um Objekte zu vergleichen, vergleicht er nur Objektverweise und nicht die Daten, die sie enthalten.
Kann in benutzerdefinierten Typen überladen werden, indem statische Elementfunktionen definiert und der Schlüsselwortoperator verwendet wird.
Muss paarweise überladen werden. Wenn == überladen ist, muss! = Überladen werden. Die gleiche Regel gilt für Paare
Überladen der Vergleichsoperatoren
Wenn == und! = Für einen gegebenen Typ überladen sind, sollten die Methoden Equals () und GetHashCode () überschrieben werden.
Kann nicht mit Strukturen verwendet werden, bis der Operator überladen ist, um die Logik für den Vergleich zu implementieren.
In .NET Framework wird die System.String-Klasse für Aktionen verwendet, die sich auf Zeichenfolgen beziehen, z. B. auf Manipulation, Vergleich und Verkettung. Es überlädt den Operator ==, um die Gleichheit der Inhalte von Operanden vom Typ Zeichenfolge zu prüfen, und vergleicht die Referenzen der Operanden, wenn sie nicht vom Typ Zeichenfolge sind. Version 4.0 von .NET Framework bietet die Möglichkeit zur dynamischen Typisierung, mit der der Compiler die für Vergleichszwecke erforderliche Konvertierung durchführen kann.
Beim Vergleichen von Objekten mit verschachtelten Klassen kann der Vergleich auf einer Referenz basieren, die auf ein geschachteltes Objekt zeigt, das verglichen werden soll (tiefer Vergleich) oder auf den Werten der Objekte. Diese Entscheidung sollte in der Entwurfsphase einer Bewerbung festgelegt werden. Zum Vergleich zwischen Gleitkommazahlen sollten Werte auf ein für die Anwendung akzeptables Niveau gerundet werden.