Sadržaj:
Definicija - Što znači uvjetni operater?
Uvjetni operator u C #, je operator koji uzima tri operanda (uvjeti koje treba provjeriti), vrijednost kada je uvjet istina i vrijednost kada je uvjet netočan.
Uvjetni operator predstavljen je simbolom '?:'. Prvi operand (naveden prije '?:') Je evaluacijski (uvjetni) izraz. Mora biti takav da se vrsta evaluiranog izraza može implicitno pretvoriti u 'bool' ili da implementira operator true kako bi se izbjegle pogreške u sastavljanju. Drugi i treći operand upravljaju vrstom uvjetnog izraza. Češće se koristi u dodjeljivanju, a ne kao izjava koja stvara pogreške u sastavljanju.
Ako je povratna vrijednost prvog operanda (uvjetni izraz) istinita, vrednuje se drugi operand. Inače, ocjenjuje se treći operand. Dakle, rezultat uvjetnog operatera rezultat je ocjene izraza koji se uzima u obzir.
Za izraz naveden kao x? A: b, operand a bit će ocijenjen ako samo operand x (uvjetni izraz) vrati true. U protivnom će se ocjenjivati operand b.
Ovaj je pojam poznat i kao ternarni operator ili linijski ako (iif).
Tehopedia objašnjava uvjetni operater
Uvjetni operator jedini je ternarni operator (koji uzima tri operanda) u C #. Formira kao alternativa konstrukciji if-else, koja pruža bolju konciznost uz manje koda i bolju čitljivost. Tijekom kompilacije, C # prevoditelj prevodi ternarni izraz u izjave grana, koji mogu kondenzirati višestruke ako izjave i smanjiti gniježđenje na razini izvornog koda. Ponekad kôd generiran za ternarnog operatora može povećati performanse prepravljanjem nekih uputa.
Svojstva uvjetnog operatora su:
- To je udruživanje udesno, što podrazumijeva da su operacije grupirane s desna na lijevo.
- Uvijek procjenjuje jedan od dva izraza navedena nakon simbola uvjetnog operatera. Nikad ne ocjenjuje oba.
- Prvi operand mora biti integralnog ili pokazivačkog tipa.
- Drugi i treći operand moraju biti međusobno konvertibilni, a ne međusobno konvertirani u neku drugu vrstu.
- Vrsta rezultata je uobičajeni tip, koji je l-vrijednost, ali samo ako su i drugi i treći operand istog tipa i oba su l-vrijednosti.
- Samo naredba poziv, priraštaj, smanjenje i novi objektni izraz mogu se koristiti kao izraz.
- Kada se rezultat vrednovanja izraza pomoću ternarnog operatora upotrebljava u izjavi za vraćanje metode, njegov tip bi trebao odgovarati vrsti povratka metode ograđivanja za uspješnu kompilaciju.
- Kad rezultat nije konstantan, tip uvjetnog izraza temelji se na uobičajenom jednom od dva tipa.
