In der folgenden Tabelle sind alle User-Language-Operatoren in der Reihenfolge ihrer Priorität aufgeführt. Dabei hat Unär die höchste Priorität und Komma die niedrigste:
| Unär | ! ~ + - ++ -- |
| Multiplikativ | * / % |
| Additiv | + - |
| UMSCHALTTASTE | << >> |
| Relational | < <= > >= |
| Gleichheit | == != |
| Bitweises AND | & |
| Bitweises XOR | ^ |
| Bitweises OR | ` |
| Logisches AND | && |
| Logisches OR | ` |
| Bedingt | ?: |
| Zuweisung | = *= /= %= += -= &= ^= |
| Komma | , |
Die Assoziativität erfolgt für alle Operatoren von links nach rechts, mit Ausnahme von Unär, Bedingt und Zuweisung, deren Assoziativität von rechts nach links erfolgt.
Die Priorität des normalen Operators kann mithilfe von Klammern geändert werden.
Bitweise Operatoren funktionieren nur mit den Datentypen char und int.
Unär:
| ~ | Bitweises (1's) Komplementzeichen |
Binär:
| << | Verschieben links |
| >> | Verschieben rechts |
| & | Bitweises AND |
| ^ | Bitweises XOR |
| ` | ` |
Zuweisung:
| &= | Bitweises AND zuweisen |
| ^= | Bitweises XOR zuweisen |
| ` | =` |
| <<= | Verschieben links zuweisen |
| >>= | Verschieben rechts zuweisen |
Logische Operatoren verwenden Ausdrücke eines beliebigen Datentyps.
Unär:
| ! | Logisches NOT |
Binär:
| && | Logisches AND |
| ` |
Wenn Sie einen Zeichenfolgenausdruck mit einem logischen Operator verwenden, wird überprüft, ob die Zeichenfolge leer ist.
Wenn Sie einen Objekttyp mit einem logischen Operator verwenden, wird überprüft, ob das Objekt gültige Daten enthält.
Vergleichsoperatoren verwenden Ausdrücke aller Datentypen, mit Ausnahme von Objekttypen.
| < | kleiner als |
| <= | Kleiner als oder gleich |
| > | größer als |
| >= | Größer als oder gleich |
| == | gleich |
| != | Nicht gleich |
Auswertungsoperatoren werden verwendet, um Ausdrücke basierend auf einer Bedingung auszuwerten oder eine Folge von Ausdrücken zu gruppieren und diese als einen Ausdruck auszuwerten.
| ?: | Bedingt |
| , | Komma |
Der Operator Bedingt wird verwendet, um innerhalb eines Ausdrucks eine Entscheidung zu treffen. Beispiel:
int a;
// ...code that calculates 'a'
string s = a ? "True" : "False";
Dies ist im Grunde identisch mit Folgendem:
int a;
string s;
// ...code that calculates 'a'
if (a)
s = "True";
else
s = "False";
Der Vorteil des bedingten Operators besteht jedoch darin, dass er in einem Ausdruck verwendet werden kann.
Der Operator Komma wird verwendet, um eine Folge von Ausdrücken von links nach rechts auszuwerten, wobei Typ und Wert des rechten Operanden als Ergebnis verwendet werden.
Beachten Sie, dass Argumente in einem Funktionsaufruf sowie mehrere Variablendeklarationen auch Kommas als Trennzeichen verwenden. In diesem Fall ist dies jedoch kein Komma-Operator.
Arithmetische Operatoren verwenden die Datentypen char, int und real (mit Ausnahme von ++, --, % und %=).
Unär:
| + | Unäres Plus |
| - | Unäres Minus |
| ++ | Prä- oder Postinkrement |
| -- | Prä- oder Postdekrement |
Binär:
| * | Multiplizieren |
| / | Teilen |
| % | Rest (Betrag) |
| + | Binäres Plus |
| - | Binäres Minus |
Zuweisung:
| = | Einfache Zuweisung |
| *= | Produkt zuweisen |
| /= | Quotient zuweisen |
| %= | Rest zuweisen (Betrag) |
| += | Summe zuweisen |
| -= | Differenz zuweisen |
Zeichenfolge-Operatoren verwenden die Datentypen char, int und string. Der linke Operand muss immer vom Typ string sein.
Binär:
| + | Verkettung |
Zuweisung:
| = | Einfache Zuweisung |
| += | An Zeichenfolge anhängen |
Der Operator + verkettet zwei Zeichenfolgen oder fügt ein Zeichen am Ende einer Zeichenfolge hinzu und gibt die resultierende Zeichenfolge zurück.
Der Operator += hängt eine Zeichenfolge oder ein Zeichen an das Ende einer angegebenen Zeichenfolge an.