Innholdsfortegnelse:
Definisjon - Hva betyr sammenligningsoperatør?
I C # er en sammenligningsoperatør en binær operatør som tar to operander hvis verdier blir sammenlignet. Sammenligningsoperatører brukes i betingede uttalelser, spesielt i løkker, der resultatet av sammenligningen bestemmer om utførelsen skal fortsette. De danner nøkkelen til å programmere flytkontroll, kjent som betinget behandling.
Sammenligningsoperatører inkluderer:
- Likhetsoperatør (==), returnerer true for operander hvis verdier er like.
- Inequality operator (! =), Returnerer falske hvis to operander er like.
- Mindre enn relasjonsoperatør (<), definert for alle numeriske og tællertyper og returnerer true hvis den første operanden er mindre enn den andre operanden.
- Større enn relasjonsoperatør (>), definert for alle numeriske og tællertyper og returnerer true hvis den første operanden er større enn den andre operanden.
- Mindre enn eller lik relasjonsoperatør (<=), definert for alle tall- og nummerertyper og returnerer true hvis den første operanden er mindre enn eller lik den andre operanden.
- Større enn eller lik relasjonsoperatør (> =), definert for alle tall- og nummerertyper og returnerer true hvis den første operanden er større enn eller lik den andre operanden.
Sammenligningsoperatører er også kjent som relasjonsoperatører.
Techopedia forklarer Comparison Operator
Sammenligningsoperatører har følgende funksjoner:
- Bruk en type variabel og returner en verdi av booltype.
- Kan ikke brukes direkte til sammenligning av objekter av brukerdefinert type. Hvis det brukes til å sammenligne objekter, sammenligner en sammenligningsoperatør bare objektreferanser og ikke dataene de inneholder.
- Kan overbelastes i brukerdefinerte typer ved å definere statiske medlemsfunksjoner og bruke nøkkelordoperatøren.
- Må overbelastes parvis. Hvis == er overbelastet, må! = Være overbelastet. Den samme regelen gjelder par <og> og <= og> =.
- Overbelastning av sammenligningsoperatørene <og> overbelaster implisitt de tilsvarende tildelingsoperatørene (hvis noen).
- Hvis == og! = Er overbelastet for en gitt type, bør metodene Equals () og GetHashCode () overstyres.
- Kan ikke brukes med strukturer før operatøren er overbelastet for å implementere logikken for sammenligning.
I .NET Framework brukes System.String-klassen for handlinger relatert til strenger, for eksempel manipulering, sammenligning og sammenkoble. Den overbelaster operatøren == for å sjekke om innholdet i strengene operandene er lik og sammenligner referansen til operandene, hvis de ikke er av strengtypen. Versjon 4.0 av .NET Framework gir mulighet for dynamisk typing, der kompilatoren kan utføre all passende konvertering som er nødvendig for sammenligningsformål.
Når du sammenligner objekter som har nestede klasser, kan sammenligningen være basert på en referanse som peker til et nestet objekt som må sammenliknes (dyp sammenligning) eller på verdiene til objektene. Denne avgjørelsen bør fikses i designfasen av en applikasjon. For sammenligning mellom antall flytende punkt, bør verdiene avrundes til et akseptabelt nivå for applikasjonen.
