Die Begriffe in einem Ausdruck können nach der Priorität der Operatoren gruppiert werden, die sich auf die Ausdrucksauswertung auswirken, wobei die Priorität bestimmter Operatoren im Vergleich zur Priorität anderer Operatoren hoch ist und beim Gruppieren der Operatoren den Operatoren mit höherer Priorität die erste Priorität eingeräumt wird Im Vergleich zu den Operatoren mit niedrigerer Priorität für die Auswertung von Ausdrücken und verschiedenen Arten von Operatoren sind Postfix-Operator, unärer Operator, multiplikativer Operator, additiver Operator, Verschiebungsoperator, relationaler Operator, Gleichheitsoperator, bitweiser UND-Operator, bitweiser XOR-Operator, bitweiser ODER-Operator , Logischer UND-Operator, logischer ODER-Operator, Bedingungsoperator, Zuweisungsoperator und Kommaoperator.
Funktionen der Operatorpriorität in C#
Um die Funktionsweise der Operatorpriorität in C# zu verstehen, müssen wir die Rangfolge der Operatoren kennen. Die Rangfolge in der höheren Reihenfolge ist wie folgt:
1. Postfix-Operator
- Dazu gehören die Operatoren ()[]->.++–
- Die Assoziativität für diese Operatoren verläuft von links nach rechts, wenn sie in einem Ausdruck verwendet und für die Auswertung berücksichtigt werden.
2. Unärer Operator
- Dazu gehören auch die Operatoren + – ! ~ ++ – (Typ)* &sizeof
- Die Assoziativität dieser Operatoren erfolgt von rechts nach links, wann immer sie in einem Ausdruck verwendet und für die Auswertung berücksichtigt werden.
3. Multiplikativer Operator
- Dazu gehören auch die Operatoren */%
- Die Assoziativität für diese Operatoren verläuft von links nach rechts, wenn sie in einem Ausdruck verwendet und für die Auswertung berücksichtigt werden.
4. Additiver Operator
- Dazu gehören auch die Operatoren +-
- Die Assoziativität dieser Operatoren verläuft von links nach rechts, wenn sie in einem Ausdruck verwendet und für die Auswertung berücksichtigt werden.
5. Schichtbetreiber
- Dazu gehören auch die Operatoren <<>>
- Die Assoziativität für diese Operatoren verläuft von links nach rechts, wenn sie in einem Ausdruck verwendet und für die Auswertung berücksichtigt werden.
6. Vergleichsoperator
- Dazu gehören auch die Operatoren <<=>>=
- Die Assoziativität für diese Operatoren verläuft von links nach rechts, wenn sie in einem Ausdruck verwendet und für die Auswertung berücksichtigt werden.
7. Gleichheitsoperator
- Dazu gehören die Operatoren == !=
- Die Assoziativität für diese Operatoren verläuft von links nach rechts, wenn sie in einem Ausdruck verwendet und für die Auswertung berücksichtigt werden.
8. Bitweiser UND-Operator
- Dazu gehört auch der Operator &
- Die Assoziativität für diesen Operator verläuft von links nach rechts.
9. Bitweiser XOR-Operator
- Dazu gehört auch der Operator ^
- Die Assoziativität für diesen Operator verläuft von links nach rechts.
10. Bitweiser ODER-Operator
- Dazu gehört auch der Operator |
- Die Assoziativität für diesen Operator verläuft von links nach rechts.
11. Logischer UND-Operator
- Dazu gehört auch der Operator &&
- Die Assoziativität für diese Operatoren verläuft von links nach rechts, wenn sie in einem Ausdruck verwendet und für die Auswertung berücksichtigt werden.
12. Logischer ODER-Operator
- Dazu gehört auch der Operator ||
- Die Assoziativität dieser Operatoren verläuft von links nach rechts, wenn sie in einem Ausdruck verwendet und für die Auswertung berücksichtigt werden.
13. Bedingter Operator
- Dazu gehört auch der Operator ?:
- Die Assoziativität dieser Operatoren erfolgt von rechts nach links, wann immer sie in einem Ausdruck verwendet und für die Auswertung berücksichtigt werden.
14. Zuweisungsoperator
- Dazu gehören die Operatoren= += -= *= /= %= >>= <<= &= ^= |=
- Die Assoziativität dieser Operatoren verläuft von rechts nach links, wenn sie in einem Ausdruck verwendet und für die Auswertung berücksichtigt werden.
15. Komma-Operator
- Dazu gehört auch der Operator ,
- Die Assoziativität für diesen Operator verläuft von links nach rechts.
Da wir nun die Rangfolge der bei der Auswertung eines Ausdrucks berücksichtigten Operatoren kennen, wollen wir die Funktionsweise von Rangfolgeoperatoren anhand eines Beispiels verstehen. Betrachten Sie die folgende Aussage:
int y = 2 + 3 * 5;
Welchen Wert hat y nach der Ausführung dieser Anweisung?
- In der obigen Anweisung sind die Operatoren + und * mit 3 verknüpft. Da wir verstanden haben, dass die Operatoren und * eine höhere Priorität haben als +, wird zuerst der Ausdruck 3 * 5 ausgeführt und dann das Ergebnis Ausdruck wird zu 2 addiert. Daher beträgt der Wert von y in der obigen Anweisung 17.
- Wenn + eine höhere Priorität als * hätte, wäre der Ausdruck 2 + 3 zuerst ausgeführt worden und der resultierende Ausdruck wäre mit 5 multipliziert worden. Dann wäre der Wert von y nach der Ausführung der Anweisung 25. Da wir vorbeigehen Die Rangfolge für Operatoren in C#: * hat Vorrang vor + und das Ergebnis des Ausdrucks ist 17.
Beispiel für Operatorpriorität in C#
C#-Programm zur Demonstration der Priorität von Operatoren.
Code:
using System;
namespace Op
{
public class OpPrec
{
public static void Main(string[] args)
{
int res;
int x = 4, y = 5, z = 3;
res = --x * y - ++z;
Console.WriteLine(res);
bool res1;
res1 = y >= z + x;
Console.WriteLine(res1);
}
}
}
Im obigen Programm werden im Ausdruck –x * y – ++z zuerst –x und ++z ausgewertet und dann der resultierende Wert von –x mit y multipliziert und der resultierende Wert vom resultierenden Wert subtrahiert Wert von ++z gemäß der Operatorpriorität in c#. Und im Ausdruck y >= z + x wird z+x zuerst ausgewertet und der resultierende Wert mit dem Wert von y gemäß der Operatorpriorität in c# verglichen.
Ausgabe:
Fazit
In diesem Artikel haben wir die Rangfolge von Operatoren in C#, ihre Rangfolge und die Funktionsweise der Operatorrangfolge anhand von Definitionen und Beispielen kennengelernt.
Das obige ist der detaillierte Inhalt vonOperatorpriorität in C#. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!