Gyakorlat – Növekményes és csökkenő értékek

Befejeződött

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

  1. 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.

  2. Í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);
    
  3. 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

  1. 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));
    
  2. 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:

  1. A value változó értékének kiolvasása és felhasználása a sztringösszefűzési műveletben.
  2. 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.

  1. Az érték növelése.
  2. 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.