Operaattorit

| Operaattori | Tehtävät | Esimerkki | | ----------- |----------|-----------| | = | Sijoitus | ``` bool tosi = true;```| + | | Yhteenlasku | | ``` csharp int summa = luku1 + luku2; ``` |

| Merkkijonojen yhdistäminen | |

string kokoNimi = etunimi + " " + sukunimi;

|

- | | Negatiivisen luvun etumerkki | | ``` csharp int luku = -5; ``` |

| vähennyslasku | |

int erotus = luku1 - luku2;

|

* | | Kertolasku | | ``` csharp int tulo = luku1 * luku2; ``` |

| osoittimen esittely | |

int *osoitin;

|

| / | | Jakolasku | |

int osamaara = luku1 / luku2;

|

| % | | Jakojäännös | |

int jakojaannos = luku1 % luku2;

|

| ++ | | Lisäys yhdellä | |

// ensin käytetään nykyistä arvoa, sitten lisätään
luku++;
// ensin lisätään, sitten käytetään arvoa
++luku;

|

| - - | | Vähennys yhdellä | |

// ensin käytetään nykyistä arvoa, sitten vähennetään
luku--;
// ensin vähennetään, sitten käytetään arvoa
--luku;

|

+= | | Lisäys itseensä | | ``` csharp // tarkoittavat samaa luku += 3; luku = luku + 3; ``` |

| Delegaatin lisääminen | |

button1.Click += new EventHandler(button1_Click);

|

-= | | Vähennys itsestä | | ``` csharp // tarkoittavat samaa luku -= 5; luku = luku - 5; ``` |

| Delegaatin poistaminen | |

button1.Click -= button1_Click;

|

| *= | | Itsensä kertominen | |

// tarkoittavat samaa
luku *= 2;
luku = luku * 2;

|

| /= | | Itsensä jakaminen | |

// tarkoittavat samaa
luku /= 3;
luku = luku / 3;

|

| %= | | Jakojäännös itsestä | |

// tarkoittavat samaa
luku %= 2;
luku = luku % 2;

|

| == | | Ovat samat | |

if(a == b){}

|

| != | | Ovat eri | |

if(a != b){}

|

| < | | Pienempi kuin | |

if(a < b){}

|

| <= | | Pienempi tai yhtä suuri kuin | |

if(a <= b){}

|

| > | | Suurempi kuin | |

if(a > b){}

|

| >= | | Suurempi tai yhtä suuri kuin | |

if(a >= b){}

|

| && | | Ja (ehtojen yhdistely) | |

if(a < b && a > c){}

|

| || | | Tai (ehtojen yhdistely) | |

if(a < b || a > c){}

|

| . | | Jäseneen pääsy | |

Console.WriteLine();

|

( ) | | Metodin tai delegaatin kutsuminen | | ``` csharp Console.WriteLine(); ``` |

| tyyppimuunnos | |

int kokonaisluku = (int)reaaliluku;

|

[] | | Taulukon esittely | | ``` csharp string[] nimet = new string[5]; ``` |

| indeksi | |

nimet[0] = "Matti";

|

| ! | | Negaatio | |

bool tosi = true;
if (!tosi) { }

|

| ~ | | Komplementti (kääntää bitit) | |

int komplementti = ~luku;

|

| & | | Looginen ja (bittioperaatio) | |

int ja = a & b;

|

| | | | Looginen tai (bittioperaatio) | |

int tai = a | b;

|

| ^ | | Looginen poissulkeva tai (bittioperaatio) | |

int xor = a ^ b;

|

| &= | | Ja-operaatio itselle | |

// tarkoittavat samaa
luku1 &= luku2
luku1 = luku1 & luku2

|

| |= | | Tai-operaatio itselle | |

// tarkoittavat samaa
luku1 |= luku2
luku1 = luku1 | luku2

|

| ^= | | XOR-operaatio itselle | |

// tarkoittavat samaa
luku1 ^= luku2
luku1 = luku1 ^ luku2

|

| << | | Siirto vasemmalle (bittioperaatio) | |

int neljallaKerrottu = luku << 2;

|

| >> | | Siirto oikealle (bittioperaatio) | |

int puolitettu = luku >> 1;

|

| <<= | | Itsensä siirto vasemmalle | |

// tarkoittavat samaa
luku <<= 2;
luku = luku << 2;

|

| >>= | | Itsensä siirto oikealle | |

// tarkoittavat samaa
luku >> = 1;
luku = luku >> 1;

|

| new | | Objektin luominen | |

StringBuilder sb = new StringBuilder();

|

| typeof | | Palauttaa tyypin | |

Type tyyppi = typeof(int);

|

| sizeof | | Tyypin koko tavuina | |

int kokoTavuina = sizeof(float);

|

| is | | Yhteensopivuus | |

if(objekti is float){}

|

| as | | Muuttaa tyypin toiseksi | |

string s1 = objekti as string;

|

| ?? | | Null coalesce | |

string teksti = null;
// jos teksti ei ole null, s saa sen arvon, muuten s saa arvon "oletus"
string s = teksti ?? "oletus";

|

| ?: | | Ternary (kolmoisarvo) | |

// jos ehto (luku % 2 == 0) on tosi s saa arvon "Parillinen",
// muuten s saa arvon "Pariton"
string s = (luku % 2 == 0) ? "Parillinen" : "Pariton";

|

| -> | | Osoittimen jäseneen pääsy | |

// sama kuin (*pointer).TeeJotain();
pointer->TeeJotain();

|