Operatory przypisania
Do tej pory często używaliśmy operatora „=”. Jak wiemy służy
on do przypisywania wartości do zmiennych. Istnieją operatory pochodne od „=”,
takie jak „+=” , „-=” , „*=” , „/=” , „%=” (wymieniłem tylko najważniejsze).
Zauważmy, że każdy rozpoczyna
się od operatora arytmetycznego. W zależności od pierwszego znaku, przypisanie przyjmuje inna formę. Standardowo „=”
powoduje, że wartości z prawej strony wyrażenia zostają przypisane do zmiennej
po lewej. Niestandardowe operatory przypisania powodują, że wartość aktualnie
znajdująca się w zmiennej po lewej stronie zostaje zmodyfikowana o wartość z
prawej wg operatora znajdującego się w operatorze przypisania.
Prześledźmy to na przykładach.
Najpierw program z wykorzystaniem operatora „=”.
class KlasaGlowna
{
static
void Main()
{
int wynik;
wynik = 7 + 3;
System.Console.WriteLine("Wynik: " + wynik);|
System.Console.ReadLine();
}
}
Teraz program z wykorzystaniem „+=”
class KlasaGlowna
{
static
void Main()
{
int wynik =
7;
wynik += 3;
System.Console.WriteLine("Wynik: " + wynik);
System.Console.ReadLine();
}
}
Wynik działania obydwu programów jest taki sam.

Inkrementacja i dekrementacja
Na pewno słyszeliście o języku C++. Jego nazwa powstała ze
złączenia nazwy języka C (poprzednik C++) oraz operatora „++”. Operator ten to
operator inkrementacji. Ma on swojego odpowiednika służącego do dekrementacji
„- - ”. Obydwa operatory są jednoargumentowe, czyli nie potrzebują dwóch argumentów
tak jak np. „+” czy „-”. Operator „++” zwiększa zmienną o 1, a „- - ” zmniejsza. Jest to udogodnienie, aby nie pisać całego wyrażenia
x =
x + 1;
lub
x
+= 1;
albo tylko
x++;
Ćwiczenie
Napisz program pobierający dwie liczby i wykonujący na nich
pięć działań arytmetycznych z wykorzystaniem operatorów: „+=” , „-=” , „*=” ,
„/=” , „%=”.
class Operatory
{
static
void Main()
{
string x;
string y;
double wynikDodawania;
double wynikOdejmowania;
double
wynikMnozenia;
double
wynikDzielenia;
double
wynikModulo;
System.Console.WriteLine("Podaj pierwszą liczbę.");
x = System.Console.ReadLine();
System.Console.WriteLine("Podaj drugą liczbę.");
y = System.Console.ReadLine();
wynikDodawania = double.Parse(x);
wynikDodawania += double.Parse(y);
wynikOdejmowania = double.Parse(x);
wynikOdejmowania -= double.Parse(y);
wynikMnozenia = double.Parse(x);
wynikMnozenia *= double.Parse(y);
wynikDzielenia = double.Parse(x);
wynikDzielenia /= double.Parse(y);
wynikModulo = double.Parse(x);
wynikModulo %= double.Parse(y);
System.Console.WriteLine("Wynik
dowania: " + wynikDodawania);
System.Console.WriteLine("Wynik odejmowania: " +
wynikOdejmowania);
System.Console.WriteLine("Wynik mnożenia: " + wynikMnozenia);
System.Console.WriteLine("Wynik dzielenia: " + wynikDzielenia);
System.Console.WriteLine("Wynik modulo: " + wynikModulo);
System.Console.ReadLine();
}
}