C# - Operátorok

C# nyelv 4. rész

Mellékelt cikkben a C# nyelv operátoraival, azok precedenciájával és használatukkal ismerkedhetünk meg.
Az alábbi felsorolásban találjuk a C#-ban használható operátorokat. Az azonos kategóriában lévők azonos precedencia szinten állnak egymással. Az egymás utáni kategóriákban lévő operátorok precedencia tekintetében minél nagyobb a kategória sorszáma annál kisebb szinten állnak. Tehát az 1-es kategóriában lévő operátorok előbb kerülnek kiértékelésre, mint 2-es kategóriában lévők.
1. Primary kategória
  • () – zárójel. Például: (a + b) * c
  • . – mező hozzáférés. Például: Console.WriteLn
  • () – függvény hívás. Például: a.ToString();
  • [] – tömb indexelés. Például: a[3]
  • post ++ - utólagos inkrementálás. Változó értékét növeli, majd az új érték kerül felhasználásra. Például: a++
  • post -- - utólagos dekrementálás. Változó értékét csökkenti, majd az új érték kerül felhasználásra. Például: a—
  • new – új példány létrehozása egy típusból. Például: Object o = new Object();
  • typeof – típus meghatározó operátor. Például: Type p = typeof(int); Console.WriteLn(p.Name);
  • sizeof – méret meghatározó operátor. Például: int i = sizeof(double);
  • checked – túlcsordulás ellenőrzés. Például:
  int a = 1000000; 
  int b = 1000000; 
  static int ab() {
      return checked(a * b);    
  }
  • unchecked – túlcsordulás ellenőrzés mellőzése. Például:
  int a = 1000000; 
  int b = 1000000; 
  static int G() {
     return unchecked(a * b);   
  }
2. Unary kategória
  • + - pozitív. Például: int b = +a;
  • - - negatív. Például: int b = -a;
  • ! – logikai tagadás. Az adott logikai érték ellenkezőjére váltás. Például: bool b = !checkBox1.Checked;
  • ~ - bináris tagadás. Az adott érték minden bitje az ellenkezőjére vált. Például: uint a = 1; int b = ~a;
  • pre ++ - elsődleges inkrementálás. Változó értéke felhasználásra kerül, majd növeli értékét. Például int b = ++a;
  • pre – - elsődleges dekrementálás. Változó értéke felhasználásra kerül, majd csökkenti értékét. Például int b = --a;
  • () – típus rádefiniálás. Például: long a; int b = (int)a;
3. Multiplicative kategória
  • * - szorzás. Például: a * b
  • / - osztás. Például a / b
  • % - maradék osztás. Két szám osztása egymással és a maradék visszaadása egész számként. Például: a % b
4. Additive kategóriába tartozó operátorok:
  • + - összeadás. Például a + b
  • - - kivonás. Például a - b
5. Shift kategória
  • << bitenkénti balra léptetés. Az adott szám bitjei a megadott számszor lépnek balra. A túlcsorduló bitek elvesznek, míg az újonnan belépő bitek nullák lesznek. Példa: a << 2
  • >> bitenkénti jobbra léptetés. Az adott szám bitjei a megadott számszor lépnek balra. A túlcsorduló bitek elvesznek, míg az újonnan belépő bitek nullák lesznek. Példa: a >> 2
6. Relational kategória
  • < - kisebb. Például: a < b
  • > - nagyobb. Például: a > b
  • <= - kisebb vagy egyenlő. Például: a <= b
  • >= - nagyobb vagy egyenlő. Például: a >= b
  • is – típus ellenőrzés. Például: int b; if (b is int) {…}
  • as – típus rádefiniálás. Például: Object o = textBox4; (o as TextBox).Text = …
7. Equality kategória
  • == - egyenlőség vizsgálata. Például: if (a == b) {…}
  • != - egyenlőtlenség vizsgálata. Például: if (a != b) {…}
8. Logical AND kategória
  • & - logikai és. Bitenkénti és művelet elvégzése. Például: a & b
9. Logical XOR kategória
  • ^ - logikai vagy tagadása. Bitenkénti vagy művelet elvégzése tagadással. Például: a ^ b
10 Logical OR kategória
  • | - logikai vagy. Bitenkénti vagy művelet elvégzése. Például: a | b
11. Conditional AND kategória
  • && - és feltétel. Logikai és művelet. Például: if (checkBox1.Checked && checkBox2.Checked) {…}
12. Conditional OR kategória
  • || - vagy feltétel. Logikai vagy művelet. Például: if (checkBox1.Checked || checkBox2.Checked) {…}
13. Conditional kategória
  • ?: - feltételes választás. A megadott feltételtől függően adja vissza az első, illetve második értéket. Például: int a = 5, b = 10, c = checkBox1.Checked ? a : b;
14. Assignment kategória
  • = - értékadás. Például: a = b
  • *= - szorzó értékadás. Például: a *= 5; egyenértékű az a = a * 5;-el.
  • /= - osztó értékadás. Például: a /= 2;
  • %= - maradék osztó értékadás. Például: a %= 3;
  • += - összeadó értékadás. Például: a += 3;
  • -= - kivonó értékadás. Például: a -= 3;
  • <<= - bitenkénti balra léptető értékadás. Például: a <<= 3;
  • >>= - bitenkénti jobbra léptető értékadás. Például: a >>= 3;
  • &= bitenkénti és műveletet végző értékadás. Például: a &= 3;
  • ^= bitenkénti vagy tagadása műveletet végző értékadás. Például: a ^= 3;
  • |= bitenkénti vagy műveletet végző értékadás. Például: a |= 3;

C# nyelv cikksorozat