Gyakorlat – Növekményes és csökkenő értékek
Az ebben a modulban ismertetett utolsó alapszintű művelet az értékek növelése és csökkentése olyan különleges operátorokkal, amelyek szimbólumok kombinációjából állnak.
Növelés és csökkentés
Gyakran meg kell növelnie és/vagy meg kell növelnie az értékeket, különösen akkor, ha olyan hurkoló logikát vagy kódot ír, amely egy adatstruktúrával kommunikál.
A +=
operátor az operátor jobb oldalán lévő értéket hozzáadja és hozzárendeli az operátor bal oldalán lévő értékhez. A következő kódrészlet második és harmadik sora így megegyezik:
int value = 0; // value is now 0.
value = value + 5; // value is now 5.
value += 5; // value is now 10.
A ++
operátor eggyel növeli a változó értékét. A következő kódrészlet második és harmadik sora így megegyezik:
int value = 0; // value is now 0.
value = value + 1; // value is now 1.
value++; // value is now 2.
Ugyanezek a technikák használhatók kivonásra, szorzásra és egyebekre is. Az alábbi gyakorlat lépései ezek közül mutatnak be néhányat.
Feljegyzés
A +=
, -=
, *=
, ++
és --
operátor úgynevezett összetett értékadó operátor, ugyanis valamilyen műveletet is végrehajt amellett, hogy értéket ad egy változónak. A +=
operátor neve például összeadási értékadó operátor.
Kód írása egy érték növeléséhez és dekrementálásához
Jelölje ki az összes kódot a .NET-szerkesztőben, majd a Törlés vagy a Backspace billentyű lenyomásával törölje azt.
Írja be a következő kódot a .NET-szerkesztőbe:
int value = 1; value = value + 1; Console.WriteLine("First increment: " + value); value += 1; Console.WriteLine("Second increment: " + value); value++; Console.WriteLine("Third increment: " + value); value = value - 1; Console.WriteLine("First decrement: " + value); value -= 1; Console.WriteLine("Second decrement: " + value); value--; Console.WriteLine("Third decrement: " + value);
Futtassa a kódot. A következő kimenetnek kell megjelennie:
First increment: 2 Second increment: 3 Third increment: 4 First decrement: 3 Second decrement: 2 Third decrement: 1
Feljegyzés
A "második növekményben" használt value += 1;
. Az összeg növeléséhez azonban bármilyen literális int
értéket (vagy változót) használhatott volna. Ugyanez igaz a „második csökkentésre”: value -= 1;
.
A növekmény- és decrement operátorok elhelyezése
A növekményes és a csökkenő operátorok is érdekes minőségűek – pozíciójuktól függően az értékük lekérése előtt vagy után hajtják végre a műveletet. Ha tehát az operátor az érték előtt áll (++value
), akkor a növelés az érték kiolvasása előtt történik meg. A value++
forma viszont az érték kiolvasása után végzi el az érték növelését.
A növekmény operátor használata az érték előtt és után
Törölje a kódot az előző lépésekből, és írja be a következő kódot a .NET-szerkesztőbe:
int value = 1; value++; Console.WriteLine("First: " + value); Console.WriteLine($"Second: {value++}"); Console.WriteLine("Third: " + value); Console.WriteLine("Fourth: " + (++value));
Futtassa a kódot. A következő kimenetnek kell megjelennie:
First: 2 Second: 2 Third: 3 Fourth: 4
Figyelje meg az alábbi kódsort:
Console.WriteLine($"Second: {value++}");
Ez a sort két lépést tartalmaz:
- A
value
változó értékének kiolvasása és felhasználása a sztringösszefűzési műveletben. - Az érték növelése.
A következő kódsorral ellenőriztük, hogy az érték növelése valóban megtörtént.
Console.WriteLine("Third: " + value);
Hasonlítsa ezt össze a következő kódsorral:
Console.WriteLine("Fourth: " + (++value));
Itt a műveletek sorrendje felcserélődik, mert a ++
operátor a value
előtt helyezkedik el.
- Az érték növelése.
- Kérje le a változó
value
új növekményes értékét, és használja azt a sztringműveletben.
Bár nem feltétlenül szükséges, zárójelet adott hozzá a kifejezéshez (++value)
az olvashatóság javítása érdekében. A sok egymás melletti +
operátor megtévesztő lehet más fejlesztők számára. Az ilyen stilisztikai szempontokat egyénileg lehet megítélni. Mivel azonban a kódot egyszer fogja megírni, de többször is elolvassa, az olvashatóságot kell előnyben részesítenie.
Összefoglalás
A C#-ban végzett matematikai műveletekről eddig az alábbiakat tanulta:
- Az olyan összetett értékadó műveletekkel, mint a
+=
,-=
,*=
,++
, és--
matematikai műveletek, például az érték növelése vagy csökkentése hajtható végre úgy, hogy az eredményt hozzá is rendeljük az eredeti változóhoz. - A növelő és csökkentő műveletek más módon vannak végrehajtva ha az operandus előtt vagy az után helyezkednek el.