Obsah:
Definícia - Čo znamená porovnávací operátor?
V C # je porovnávací operátor binárny operátor, ktorý berie dva operandy, ktorých hodnoty sa porovnávajú. Operátory porovnávania sa používajú v podmienených príkazoch, najmä v slučkách, kde výsledok porovnávania rozhoduje, či sa má vykonať vykonanie. Tvoria kľúč na riadenie toku programov, známy ako podmienené spracovanie.
Porovnávacie operátory zahŕňajú:
- Operátor rovnosti (==), vracia true pre operandy, ktorých hodnoty sú rovnaké.
- Operátor nerovnosti (! =), Vracia false, ak sú dva operandy rovnaké.
- Menej ako relačný operátor (<), definované pre všetky číselné a enumeračné typy a vráti true, ak je prvý operand menší ako druhý operand.
- Väčší ako relačný operátor (>), definovaný pre všetky číselné a enumeračné typy a vráti true, ak je prvý operand väčší ako druhý operand.
- Menší alebo rovnaký ako relačný operátor (<=), definovaný pre všetky číselné a enumeračné typy a vráti true, ak je prvý operand menší alebo rovnaký ako druhý operand.
- Väčší alebo rovný relačnému operátorovi (> =), definovaný pre všetky číselné a enumeračné typy a vracia sa true, ak je prvý operand väčší alebo rovnaký ako druhý operand.
Porovnávacie operátory sú známe aj ako relačné operátory.
Techopedia vysvetľuje operátor porovnania
Porovnávacie operátory majú nasledujúce vlastnosti:
- Operujte s jedným typom premennej a vráťte hodnotu typu bool.
- Nedá sa priamo použiť na porovnanie objektov typu definovaného používateľom. Ak sa používa na porovnávanie objektov, operátor porovnávania porovnáva iba odkazy na objekty a nie údaje, ktoré obsahujú.
- Môže byť preťažený v užívateľsky definovaných typoch definovaním statických členských funkcií a použitím operátora kľúčových slov.
- Musí byť preťažené v pároch. Ak je == preťažené, musí byť preťažené! =. Rovnaké pravidlo platí pre páry <a> a <= a> =.
- Preťaženie operátorov porovnávania <a> implicitne preťažuje ich príslušné operátory priradenia (ak existujú).
- Ak sú pre daný typ preťažené == a! =, Mali by sa prepísať metódy Rovná sa () a GetHashCode ().
- Nemožno použiť so štruktúrami, pokiaľ nie je operátor preťažený na implementáciu logiky na porovnanie.
V rozhraní .NET Framework sa trieda System.String používa na akcie súvisiace s reťazcami, ako sú manipulácia, porovnávanie a zreťazenie. Preťažuje operátora ==, aby skontroloval rovnosť obsahu operandov typu reťazca a porovnáva referencie operandu (operandov), ak nie sú typu string. Verzia 4.0 .NET Framework poskytuje prostriedok na dynamické písanie, pomocou ktorého môže kompilátor vykonať všetku potrebnú konverziu potrebnú na účely porovnania.
Pri porovnávaní objektov, ktoré majú vnorené triedy, sa porovnanie môže zakladať na referencii odkazujúcej na vnorený objekt, ktorý sa musí porovnávať (hlboké porovnanie), alebo na hodnotách objektov. Toto rozhodnutie by sa malo stanoviť vo fáze návrhu žiadosti. Na porovnanie medzi číslami s pohyblivou rádovou čiarkou by sa hodnoty mali zaokrúhliť na prijateľnú úroveň pre aplikáciu.
