Cuprins:
Definiție - Ce înseamnă operator de comparație?
În C #, un operator de comparație este un operator binar care ia două operanțe ale căror valori sunt comparate. Operatorii de comparație sunt folosiți în declarațiile condiționale, în special în bucle, în care rezultatul comparației decide dacă trebuie să meargă executarea. Ele constituie cheia pentru controlul fluxului de program, cunoscut sub numele de procesare condiționată.
Operatorii de comparație includ:
- Operatorul de egalitate (==), returnează adevărat pentru operanzele ale căror valori sunt egale.
- Operatorul de inegalitate (! =), Returnează fals dacă două operanțe sunt egale.
- Mai puțin decât operatorul relațional (<), definit pentru toate tipurile numerice și de enumerare și returnează adevărat dacă primul operand este mai mic decât al doilea operand.
- Mai mare decât operatorul relațional (>), definit pentru toate tipurile numerice și de enumerare și returnează adevărat dacă primul operand este mai mare decât cel de-al doilea operand.
- Mai mic sau egal cu operatorul relațional (<=), definit pentru toate tipurile numerice și de enumerare și returnează adevărat dacă primul operand este mai mic sau egal cu cel de-al doilea operand.
- Mai mare sau egal cu operatorul relațional (> =), definit pentru toate tipurile numerice și de enumerare și returnează adevărat dacă primul operand este mai mare sau egal cu cel de-al doilea operand.
Operatorii de comparație sunt cunoscuți și ca operatori relaționali.
Techopedia explică operatorul de comparație
Operatorii de comparație au următoarele caracteristici:
- Operați pe un tip de variabilă și returnați o valoare de tip bool.
- Nu poate fi utilizat direct pentru compararea obiectelor de tip definite de utilizator. Dacă este utilizat pentru a compara obiecte, un operator de comparație compară doar referințele la obiect și nu datele pe care le conțin.
- Poate fi supraîncărcat în tipuri definite de utilizator prin definirea funcțiilor statice ale membrilor și folosirea operatorului de cuvinte cheie.
- Trebuie supraîncărcat în perechi. Dacă == este supraîncărcat, ! = Trebuie supraîncărcat. Aceeași regulă se aplică perechilor <și> și <= și> =.
- Supraîncărcarea operatorilor de comparație <și> implicit supraîncărcă operatorii de atribuire corespunzători (dacă există).
- Dacă == și! = Sunt supraîncărcate pentru un anumit tip, metodele Equals () și GetHashCode () ar trebui să fie anulate.
- Nu poate fi utilizat cu structuri până când operatorul este supraîncărcat pentru a implementa logica de comparație.
În .NET Framework, clasa System.String este utilizată pentru acțiuni legate de șiruri, cum ar fi manipularea, compararea și concatenarea. El supraîncărcă operatorul == pentru a verifica egalitatea conținutului operanzilor de tip șir și compară referința operandului (ele), dacă nu sunt de tip string. Versiunea 4.0 din .NET Framework oferă facilitatea de introducere dinamică, prin care compilatorul poate efectua toată conversia necesară în scopuri de comparație.
La compararea obiectelor care au clase imbricate, comparația se poate baza pe o referință care indică un obiect cuibărit care trebuie comparat (comparație profundă) sau pe valorile obiectelor. Această decizie ar trebui fixată în faza de proiectare a unei cereri. Pentru comparația între numerele în virgulă flotantă, valorile ar trebui rotunjite la un nivel acceptabil pentru aplicație.
