Spisu treści:
Definicja - Co oznacza operator porównania?
W języku C # operator porównania jest operatorem binarnym, który przyjmuje dwa operandy, których wartości są porównywane. Operatory porównania są używane w instrukcjach warunkowych, szczególnie w pętlach, w których wynik porównania decyduje, czy należy kontynuować wykonywanie. Stanowią one klucz do programowania kontroli przepływu, znanego jako przetwarzanie warunkowe.
Operatory porównania obejmują:
- Operator równości (==), zwraca true dla argumentów, których wartości są równe.
- Operator nierówności (! =) Zwraca false, jeśli dwa operandy są równe.
- Mniej niż operator relacyjny (<), zdefiniowany dla wszystkich typów numerycznych i wyliczeniowych i zwraca true, jeśli pierwszy operand jest mniejszy niż drugi operand.
- Większy niż operator relacyjny (>), zdefiniowany dla wszystkich typów numerycznych i wyliczeniowych i zwraca true, jeśli pierwszy operand jest większy niż drugi operand.
- Mniejszy lub równy operatorowi relacyjnemu (<=), zdefiniowanemu dla wszystkich typów numerycznych i wyliczeniowych i zwraca wartość true, jeśli pierwszy operand jest mniejszy lub równy drugiemu operandowi.
- Większy lub równy operatorowi relacyjnemu (> =), zdefiniowanemu dla wszystkich typów numerycznych i wyliczeniowych i zwraca wartość true, jeśli pierwszy operand jest większy lub równy drugiemu operandowi.
Operatory porównania są również znane jako operatory relacyjne.
Techopedia wyjaśnia operatora porównania
Operatory porównania mają następujące funkcje:
- Operuj na jednym typie zmiennej i zwróć wartość typu bool.
- Nie można używać bezpośrednio do porównywania obiektów typu zdefiniowanego przez użytkownika. W przypadku porównania obiektów operator porównania porównuje tylko odwołania do obiektów, a nie dane w nich zawarte.
- Może być przeciążony w typach zdefiniowanych przez użytkownika poprzez zdefiniowanie statycznych funkcji składowych i użycie operatora słowa kluczowego.
- Musi być przeciążony parami. Jeśli == jest przeciążony, ! = Musi być przeciążony. Ta sama zasada dotyczy par <i> oraz <= i> =.
- Przeciążenie operatorów porównania <i> domyślnie przeciąża ich odpowiednie operatory przypisania (jeśli występują).
- Jeśli == i! = Są przeciążone dla danego typu, metody Equals () i GetHashCode () powinny zostać zastąpione.
- Nie można go używać z strukturami, dopóki operator nie zostanie przeciążony, aby zaimplementować logikę do porównania.
W .NET Framework klasa System.String jest używana do akcji związanych z łańcuchami, takich jak manipulacja, porównanie i konkatenacja. Przeciąża operator ==, aby sprawdzić równość zawartości operandów typu łańcuchowego i porównuje odwołanie do argumentów, jeśli nie są one typu łańcuchowego. Wersja 4.0 .NET Framework zapewnia funkcję dynamicznego pisania, dzięki której kompilator może wykonać wszystkie odpowiednie konwersje niezbędne do celów porównania.
Porównując obiekty posiadające klasy zagnieżdżone, porównanie może opierać się na odwołaniu wskazującym na zagnieżdżony obiekt, który należy porównać (głębokie porównanie) lub na wartościach obiektów. Decyzję tę należy ustalić na etapie projektowania wniosku. Aby porównać liczby zmiennoprzecinkowe, wartości należy zaokrąglić do akceptowalnego poziomu dla aplikacji.
