Operatorrangfolge und Assoziativität
Verstehen Sie die Auswertungsreihenfolge und verwenden Sie Klammern.
Operatorrangfolge und Assoziativität ist eine kostenlose C# Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des C# Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der C# Academy-Kurs umfasst insgesamt 4 Lektionen.
Warum die Rangfolge wichtig ist
Wenn ein Ausdruck mehrere Operatoren enthält, bestimmt C# die Reihenfolge anhand der Priorität. Operatoren mit höherer Priorität binden stärker und werden zuerst ausgeführt.
using System;
class Program {
static void Main() {
Console.WriteLine(2 + 3 * 4);
}
}Multiplikativ vor additiv
* / % haben eine höhere Priorität als + - und werden daher zuerst ausgeführt, genau wie im Mathematikunterricht.
using System;
class Program {
static void Main() {
Console.WriteLine(10 - 2 * 3);
Console.WriteLine(20 / 4 + 1);
}
}Klammern setzen die Reihenfolge außer Kraft
Klammern haben die höchste Priorität. Verwenden Sie sie, um die gewünschte Reihenfolge zu erzwingen und Ihre Absicht deutlich zu machen.
using System;
class Program {
static void Main() {
Console.WriteLine((2 + 3) * 4);
Console.WriteLine(2 + (3 * 4));
}
}Vergleiche und Arithmetik
Arithmetische Operationen werden vor Vergleichen ausgeführt. In a + b > c wird zuerst addiert und anschließend verglichen.
using System;
class Program {
static void Main() {
int a = 3, b = 4, c = 5;
Console.WriteLine(a + b > c);
}
}Reihenfolge logischer Operatoren
&& hat eine höhere Priorität als ||. In a || b && c bindet das UND zuerst.
using System;
class Program {
static void Main() {
bool r = true || false && false;
Console.WriteLine(r);
}
}Ein Überblick über die Rangfolge
Grobe Reihenfolge von hoch nach niedrig: Klammern, unäre Operatoren (! ~ -), * / %, + -, Verschiebungen, Vergleiche, Gleichheit, bitweise Operatoren, &&, || und anschließend die Zuweisung.
using System;
class Program {
static void Main() {
int x = 1 + 2 << 1;
Console.WriteLine(x);
}
}Assoziativität: von links nach rechts
Wenn Operatoren dieselbe Priorität haben, bestimmt die Assoziativität die Richtung. Die meisten binären Operatoren sind linksassoziativ: 10 - 4 - 2 entspricht (10 - 4) - 2.
using System;
class Program {
static void Main() {
Console.WriteLine(10 - 4 - 2);
Console.WriteLine(100 / 5 / 2);
}
}Rechtsassoziative Zuweisung
Die Zuweisung ist rechtsassoziativ. a = b = 5 weist zuerst b den Wert 5 zu und anschließend dieses Ergebnis a.
using System;
class Program {
static void Main() {
int a, b;
a = b = 5;
Console.WriteLine(a + " " + b);
}
}Unäre Operatoren binden stark
Unäre Operatoren wie !, ~ und die Negation werden vor binären Operatoren angewendet. -3 + 2 negiert zuerst 3.
using System;
class Program {
static void Main() {
Console.WriteLine(-3 + 2);
Console.WriteLine(!false && true);
}
}Der Bedingungsoperator
Der ternäre Operator ?: hat eine niedrige Priorität, die jedoch noch über der Zuweisung liegt. Setzen Sie komplexe Bedingungen in Klammern, um Fehler zu vermeiden.
using System;
class Program {
static void Main() {
int n = 7;
string s = n % 2 == 0 ? "even" : "odd";
Console.WriteLine(s);
}
}Klarheit ist wichtiger als Raffinesse
Auch wenn die Priorität Klammern überflüssig macht, wird der Code durch zusätzliche Klammern oft leichter lesbar und überprüfbar.
using System;
class Program {
static void Main() {
int a = 2, b = 3, c = 4;
int result = (a * b) + (c * 2);
Console.WriteLine(result);
}
}Kurztest
Testen Sie Ihr Verständnis von Priorität und Assoziativität.
Zusammenfassung
Die Priorität legt fest, welche Operatoren zuerst ausgeführt werden: * und / haben Vorrang vor + und -, und Klammern haben Vorrang vor allem anderen. Die Assoziativität löst Gleichstände zwischen Operatoren mit gleicher Priorität: Die meisten werden von links nach rechts ausgewertet, die Zuweisung von rechts nach links.
Wenn Sie unsicher sind, fügen Sie zur besseren Verständlichkeit Klammern ein.
Häufig gestellte Fragen
Ist die Lektion „Operatorrangfolge und Assoziativität“ kostenlos?
Ja — der vollständige Text von „Operatorrangfolge und Assoziativität“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des C# Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der C# Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Operatorrangfolge und Assoziativität“?
Verstehen Sie die Auswertungsreihenfolge und verwenden Sie Klammern. Du übst C# Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um C# Academy zu starten?
Keine Vorkenntnisse erforderlich. C# Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Operatorrangfolge und Assoziativität“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser C# Academy-Lektion Code schreiben und ausführen?
Ja. Jede C# Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Arithmetische und Zuweisungsoperatoren
- Vergleichs- und logische Operatoren
- Bitweise Operatoren und Schiebeoperatoren
- Operatorrangfolge und Assoziativität