++
) ou new
, portent le nom d'opérateurs unaires.+,-,*,/
) portent le nom d'opérateur binaires.?:
), prend trois opérandes et est le seul opérateur ternaire en C#.++
, modifie la valeur de l'opérande y
.=
, a
la variable de type entier y
et l'expression 2 + 3
comme opérandes.
L'expression 2 + 3
elle-même se compose de l'opérateur Addition et de deux opérandes, 2
et 3
.3 à n1
.n1 = 11 - 2 * 4;
Expression | Description |
---|---|
x.y |
Accès au membre |
x?.y |
Accès au membre conditionnel. |
f(x) |
Méthode et appel de délégué |
a[x] |
Tableau et accès d'indexeur |
a?[x] |
Tableau et accès d'indexeur conditionnels |
x++ |
Post-incrémentation |
x-- |
Post-décrémentation |
new T(...) |
Création d'objet et de délégué |
new T(...){...} |
Création d'objet avec l'initialiseur. |
new {...} |
Initialiseur d'objet anonyme. |
new T[...] |
Création de tableau. |
typeof(T) |
Obtenir l'objet System.Type pour T |
checked(x) |
Évaluer l'expression dans le contexte vérifié (checked) |
unchecked(x) |
Évaluer l'expression dans le contexte non vérifié (unchecked) |
default (T) |
Obtenir la valeur par défaut de type T |
delegate {} |
Fonction anonyme (méthode anonyme) |
Expression | Description |
---|---|
+x |
Identité |
-x |
Négation |
!x |
Négation logique |
~x |
Négation d'opération de bits |
++x |
Pré-incrémentation |
--x |
Pré-décrémentation |
(T)x |
Convertir explicitement x en type T |
Expression | Description |
---|---|
* |
Multiplication |
/ |
Division |
% |
Reste |
Expression | Description |
---|---|
x + y |
Addition, concaténation de chaînes, combinaison de délégués |
x - y |
Soustraction, suppression de délégué |
Expression | Description |
---|---|
x << y |
Décalage à gauche |
x >> y |
Décalage à droite |
Expression | Description |
---|---|
x < y |
Inférieur à |
x > y |
Supérieur à |
x <= y |
Inférieur ou égal à |
x >= y |
Supérieur ou égal à |
x is T |
Retourne la valeur true si x est de type T , false dans les autres cas |
x as T |
Retourne x s'il a le type T ou null si x n'est pas de type T |
Expression | Description |
---|---|
x == y |
Égal |
x != y |
Différence |
Category | Expression | Description |
---|---|---|
AND logique | x & y |
Opération de bits entière AND, Boolean logique AND |
XOR logique | x ^ y |
XOR d'entiers au niveau du bit, XOR logique booléen |
OR logique | x | y |
OR d'entiers au niveau du bit, OR logique booléen |
AND conditionnel | x && y |
Évalue y uniquement si x est vrai |
OR conditionnel | x || y |
Évalue y uniquement si x est false |
Fusion de Null | x ?? o |
Prend la valeur y si x est null , sinon prend la valeur x |
Conditionnel | x ? y : z |
Prend la valeur de y si x est vrai, de z si x est false |
Expression | Description |
---|---|
= |
Attribution |
x op= y |
Assignation composée. Prend en charge les opérateurs suivants : +=, -=, *=, /=, %=, &=, |=, ^=, <<=, >>=
|
(T x) => y |
Fonction anonyme (expression lambda) |
x * y / z
est évalué comme étant (x * y) / z
.
Les opérateurs associatifs sur leur droite sont évalués dans l'ordre, de droite à gauche. Par exemple, l'opérateur d'assignation est associatif sur sa droite.
Dans le cas contraire, le code suivant génère une erreur.?:
) est associatif sur sa droite.
La plupart des opérateurs binaires sont associatifs sur leur gauche.Instruction | Ordre d'évaluation |
---|---|
a = b |
a, b, = |
a = b + c |
a, b, c, +, = |
a = b + c * d |
a, b, c, d, *, +, = |
a = b * c + d |
a, b, c, *, d, +, = |
a = b - c + d |
a, b, c, -, d, +, = |
a += b -= c |
a, b, c, -=, += |
2 + 3 * 2
correspond généralement à 8, car les opérateurs de multiplication ont la priorité sur les opérateurs additifs.
Toutefois, si vous entrez une expression comme (2 + 3) * 2
, l'addition est évaluée avant la multiplication, et le résultat est 10.
Les exemples suivants illustrent l'ordre d'évaluation dans les expressions entre parenthèses.
Comme dans les exemples précédents, l'évaluation des opérandes a lieu avant l'application de l'opérateur.Instruction | Ordre d'évaluation |
---|---|
a = (b + c) * d |
a, b, c, +, d, *, = |
a = b - (c + d) |
a, b, c, d, +, -, = |
a = (b + c) * (d - e) |
a, b, c, +, d, e, -, *, = |