Obsah:
Definícia - Čo znamená operátor dekrementu?
Operátor dekrementácie v kontexte C # je unárny operátor. Vracia hodnotu rovnakého typu s preddefinovanou hodnotou rovnou hodnote operandu mínus jedna. Operátor dekrementu je označený symbolom „-“.
Operátor dekrementácie podporuje notácie prefix aj postfix. V prípade notácie predpony (označenej - x, kde x je premenná) sa hodnota premennej použije vo výraze po znížení jej pôvodnej hodnoty. Pri použití postfixového zápisu (x--) sa vo výraze zohľadní hodnota premennej pred operáciou dekrementovania. Operátor dekrementu sa môže použiť na zmenu umiestnenia ukazovateľa odčítaním hodnoty rovnakej veľkosti (alebo typu ukazovateľa) od adresy obsiahnutej v premennej ukazovateľa.
Techopedia vysvetľuje operátor dekrementov
Operátor dekrementu sa zvyčajne používa v príkazoch iterácie slučky alebo v akomkoľvek kontexte, kde je potrebné dekrementovať jednou jednotkou. Medzi vlastnosti operátora znižovania patria:
- Hodnota vrátená operátorom znižovania sa uloží do umiestnenia ukazujúceho na premennú.
- Hodnota vrátená operátorom sa stáva výsledkom operácie znižovania.
- Typy, ktoré majú preddefinovanú implementáciu operátora znižovania, sú číselné typy, ako napríklad celé číslo, sbyte, krátke, int, dlhé, char, float, double, desatinné číslo a typ výčtu.
- Typy definované používateľom môžu preťažiť operátora dekrementácie, aby implementovali potrebnú sémantiku.
- Pri použití operátora znižovania na ukazovateľ závisí výsledok od implementácie. Výnimky nie sú vyvolané, ak operácia pretečie doménu ukazovateľa.
- Prednosť operátora dekrementovania umožňuje, aby notácia postfixu mala vyššiu prioritu ako predpona.
Všimnite si, že pri použití operátora znižovania musí byť operand výraz reprezentujúci premennú, prístup k majetku alebo indexy. Okrem toho, ak sa operátor dekrementu používa s notáciou predpony pre operand, vlastnosť alebo indexátor musí mať prístupového člena get a set, aby nedošlo k chybám kompilácie. Ďalej, ak sa pre ukazovateľ použije operátor znižovania, ukazovateľ môže byť ľubovoľného typu okrem neplatného *.
Operátor dekrementu by sa mal použiť na nastavenie premennej a nie na hodnotu. Použitie operátora znižovania viackrát v jedinom výraze môže spôsobiť nepredvídateľné výsledky, hlavne kvôli optimalizácii použitej kompilátorom. Z tohto dôvodu sa odporúča používať operátora dekrementu po porozumení poradia vyhodnotenia, pričom sa použije notácia postfix aj prefix spolu s jeho prioritou v sade operátorov C #. Záznamy postfixu a prefixu operátora znižovania nemôžu mať samostatnú implementáciu operátora.
