C# Operatoren Beheersen: Een Uitgebreide Gids
Een operator is een symbool dat de compiler instructie geeft om specifieke wiskundige of logische manipulaties uit te voeren. C# heeft een rijke set ingebouwde operatoren:
- Rekundige operatoren
- Relationele operatoren
- Logische operatoren
- Bitwise operatoren
- Toewijzingsoperatoren
- Diverse operatoren
Rekundige Operatoren
Stel A = 10, B = 20:
| Operator | Beschrijving | Voorbeeld |
|---|---|---|
| + | Optellen | A + B = 30 |
| - | Aftrekken | A - B = -10 |
| * | Vermenigvuldigen | A * B = 200 |
| / | Delen | B / A = 2 |
| % | Modulo (rest na integerdeling) | B % A = 0 |
| ++ | Increment | A++ = 11 |
| -- | Decrement | A-- = 9 |
Relationele Operatoren
Stel A = 10, B = 20:
| Operator | Beschrijving | Voorbeeld |
|---|---|---|
| == | Gelijk aan | (A == B) is false |
| != | Niet gelijk aan | (A != B) is true |
| > | Groter dan | (A > B) is false |
| < | Kleiner dan | (A < B) is true |
| >= | Groter of gelijk | (A >= B) is false |
| <= | Kleiner of gelijk | (A <= B) is true |
Logische Operatoren
Stel A = true, B = false:
| Operator | Beschrijving | Voorbeeld |
|---|---|---|
| && | Logische EN | (A && B) is false |
| || | Logische OF | (A || B) is true |
| ! | Logische NIET | !(A && B) is true |
Bitwise Operatoren
Werken op bits. Waarheidstabellen voor &, |, ^:
| p | q | p&q | p|q | p^q |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 |
| 1 | 0 | 0 | 1 | 1 |
Voor A = 60 (0011 1100), B = 13 (0000 1101):
A & B = 12 (0000 1100) A | B = 61 (0011 1101) A ^ B = 49 (0011 0001) ~A = -61 (1100 0011 in 2's complement) A << 2 = 240 (1111 0000) A >> 2 = 15 (0000 1111)
| Operator | Beschrijving | Voorbeeld |
|---|---|---|
| & | Bitwise AND | (A & B) = 12 |
| | | Bitwise OR | (A | B) = 61 |
| ^ | Bitwise XOR | (A ^ B) = 49 |
| ~ | Bitwise NOT (complement) | (~A) = -61 |
| << | Linksshift | A << 2 = 240 |
| >> | Rechtshift | A >> 2 = 15 |
Toewijzingsoperatoren
| Operator | Beschrijving | Voorbeeld |
|---|---|---|
| = | Eenvoudige toewijzing | C = A + B |
| += | Optellen en toewijzen | C += A ≡ C = C + A |
| -= | Aftrekken en toewijzen | C -= A ≡ C = C - A |
| *= | Vermenigvuldigen en toewijzen | C *= A ≡ C = C * A |
| /= | Delen en toewijzen | C /= A ≡ C = C / A |
| %= | Modulo en toewijzen | C %= A ≡ C = C % A |
| <<= | Linksshift en toewijzen | C <<= 2 ≡ C = C << 2 |
| >>= | Rechtshift en toewijzen | C >>= 2 ≡ C = C >> 2 |
| &= | Bitwise AND en toewijzen | C &= 2 ≡ C = C & 2 |
| ^= | Bitwise XOR en toewijzen | C ^= 2 ≡ C = C ^ 2 |
| |= | Bitwise OR en toewijzen | C |= 2 ≡ C = C | 2 |
Diverse Operatoren
| Operator | Beschrijving | Voorbeeld |
|---|---|---|
| sizeof() | Grootte van datatype | sizeof(int) = 4 |
| typeof() | Type van klasse | typeof(StreamReader) |
| & | Adres van variabele | &a |
| * | Pointer naar variabele | *a |
| ? : | Conditionele expressie | Voorwaarde ? X : Y |
| is | Type check | if (Ford is Car) |
| as | Cast zonder exception | obj as StringReader |
Operator Precedentie in C#
Precedentie bepaalt groepering in expressies. Hogere precedentie wordt eerst geëvalueerd.
Voorbeeld: x = 7 + 3 * 2 → x = 13 (niet 20), want * heeft hogere precedentie dan +.
| Categorie | Operatoren | Associativiteit |
|---|---|---|
| Postfix | () [] -> . ++ -- | Links naar rechts |
| Unair | + - ! ~ ++ -- (type)* & sizeof | Rechts naar links |
| Multiplicatief | * / % | Links naar rechts |
| Additief | + - | Links naar rechts |
| Shift | << >> | Links naar rechts |
| Relationeel | < <= > >= | Links naar rechts |
| Gelijkheid | == != | Links naar rechts |
| Bitwise AND | & | Links naar rechts |
| Bitwise XOR | ^ | Links naar rechts |
| Bitwise OR | | | Links naar rechts |
| Logische AND | && | Links naar rechts |
| Logische OR | || | Links naar rechts |
| Conditioneel | ?: | Rechts naar links |
| Toewijzing | = += -= *= /= %= >>= <<= &= ^= |= | Rechts naar links |
| Komma | , | Links naar rechts |
C Taal
- C# Operators – Uitgebreide gids voor operators in C#
- C# Bitwise en Bit Shift Operators: Een Uitgebreide Gids
- C++ operators: complete gids met praktische voorbeelden
- C Programmeeroperatoren Beheersen: Een Uitgebreide Gids
- Bitwise Operatoren in C Beheersen: AND, OR, XOR, Shifts & Complement
- C-operators: Types, functies en voorbeelden
- Uitgebreide Gids voor C++ Operators: Types, Gebruik en Best Practices
- Verilog operatoren: Essentiële rekenkundige & controle operatoren voor synthetise
- Python Operators onder de knie krijgen: Een uitgebreide gids
- Java-operators beheersen: typen, syntax en praktische voorbeelden
- Java Essentials: Uitgebreide Gids voor Kern Operators