Ćwiczenie — przyrostowe i dekrementacji wartości
Ostatnie podstawowe operacje, które poznasz w tym module, to sposób przyrostowania i dekrementacji wartości przy użyciu specjalnych operatorów, które są kombinacjami symboli.
Przyrost i dekrementacja
Często trzeba zwiększać i/lub dekrementować wartości, szczególnie podczas pisania logiki pętli lub kodu, który wchodzi w interakcję ze strukturą danych.
Operator += dodaje i przypisuje wartość po prawej stronie operatora do wartości po lewej stronie operatora. Dlatego wiersze dwa i trzy w poniższym fragmencie kodu są takie same:
int value = 0; // value is now 0.
value = value + 5; // value is now 5.
value += 5; // value is now 10.
Operator ++ zwiększa wartość zmiennej o 1. Dlatego wiersze dwa i trzy w poniższym fragmencie kodu są takie same:
int value = 0; // value is now 0.
value = value + 1; // value is now 1.
value++; // value is now 2.
Te same techniki mogą służyć do odejmowania, mnożenia i nie tylko. W poniższych krokach ćwiczenia zostanie wyróżnionych kilka.
Uwaga / Notatka
Operatory, takie jak +=, -=, *=, ++ i --, są nazywane operatorami przypisania złożonego, ponieważ łączą pewne operacje z przypisaniem wyniku do zmiennej. Operator += jest konkretnie określany jako operator przypisania dodawania .
Pisanie kodu w celu przyrostowania i dekrementowania wartości
Wybierz cały kod napisany wcześniej w Edytorze kodu języka C# , a następnie naciśnij Delete lub Backspace , aby go usunąć.
Wprowadź następujący kod w edytorze kodu języka C#:
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);Uruchom kod. Powinny zostać wyświetlone następujące dane wyjściowe:
First increment: 2 Second increment: 3 Third increment: 4 First decrement: 3 Second decrement: 2 Third decrement: 1
Uwaga / Notatka
W ciągu "drugiej inkrementacji" użyto elementu value += 1;. Można jednak użyć dowolnej wartości literału int (lub zmiennej), aby zwiększać tę kwotę. To samo dotyczy "drugiego pomniejszenia": value -= 1;.
Pozycjonowanie operatorów inkrementacji i dekrementacji
Zarówno operatory przyrostu, jak i dekrementacji mają ciekawą właściwość — w zależności od ich położenia, operator wykonuje operację przed pobraniem wartości lub po jej pobraniu. Innymi słowy, jeśli użyjesz operatora przed wartością w formacie ++value, przyrost będzie miał miejsce przed pobraniem wartości. Podobnie value++ zwiększy wartość po pobraniu wartości.
Użyj operatora inkrementacji przed i po wartości
Usuń kod z poprzednich kroków i wprowadź następujący kod w edytorze kodu języka C#:
int value = 1; value++; Console.WriteLine("First: " + value); Console.WriteLine($"Second: {value++}"); Console.WriteLine("Third: " + value); Console.WriteLine("Fourth: " + (++value));Uruchom kod. Powinny zostać wyświetlone następujące dane wyjściowe:
First: 2 Second: 2 Third: 3 Fourth: 4
Zwróć uwagę na ten wiersz kodu:
Console.WriteLine($"Second: {value++}");
Ten wiersz zawiera dwa kroki:
- Pobierz bieżącą wartość zmiennej
valuei użyj jej w operacji interpolacji ciągów. - Zwiększ wartość.
Następny wiersz kodu potwierdza, że wartość została w rzeczywistości zwiększana.
Console.WriteLine("Third: " + value);
Z kolei rozważmy ostatni wiersz kodu:
Console.WriteLine("Fourth: " + (++value));
W tym miejscu kolejność operacji jest przełączana, ponieważ operator ++ zostaje umieszczony przed operandem value.
- Zwiększ wartość.
- Pobierz nową wartość przyrostową zmiennej
valuei użyj jej w operacji ciągu.
Chociaż nie jest to absolutnie konieczne, dodano nawiasy wokół wyrażenia (++value) w celu zwiększenia czytelności. Widząc tak wielu + operatorów obok siebie wydaje się, że może to być niezrozumiane przez innych deweloperów. Decyzje stylistyczne w ten sposób są subiektywne. Ponieważ jednak napiszesz kod raz, ale odczytujesz go wiele razy, należy określić priorytet czytelności.
Podsumowanie
Poniżej przedstawiono zdobytą wiedzę na temat operacji matematycznych w języku C#:
- Użyj operatorów przypisania złożonego, takich jak
+=, ,-=*=,++i--, aby wykonać operację matematyczną, na przykład przyrost lub dekrementację, a następnie przypisz wynik do oryginalnej zmiennej. - Operatory inkrementacji i dekrementacji działają inaczej w zależności od tego, czy operator znajduje się przed operandem, czy po nim.