C# - Opérateurs
Un opérateur est un symbole qui indique au compilateur d'effectuer des manipulations mathématiques ou logiques spécifiques. C # possède un riche ensemble d'opérateurs intégrés et fournit le type d'opérateurs suivant -
- Opérateurs arithmétiques
- Opérateurs relationnels
- Opérateurs logiques
- Opérateurs au niveau du bit
- Opérateurs d'affectation
- Opérateurs divers
Ce didacticiel explique les opérateurs arithmétiques, relationnels, logiques, au niveau du bit, d'affectation et autres, un par un.
Opérateurs arithmétiques
Le tableau suivant montre tous les opérateurs arithmétiques pris en charge par C#. Supposons que la variable A détient 10 et variable B tient 20 alors −
Afficher des exemples
Opérateur | Description | Exemple |
---|---|---|
+ | Ajoute deux opérandes | A + B =30 |
- | Soustrait le deuxième opérande du premier | A - B =-10 |
* | Multiplie les deux opérandes | A * B =200 |
/ | Divise le numérateur par le dénumérateur | B / A =2 |
% | Opérateur de module et reste de après une division entière | B % A =0 |
++ | L'opérateur d'incrémentation augmente la valeur entière de un | A++ =11 |
-- | L'opérateur de décrémentation diminue la valeur entière de un | A-- =9 |
Opérateurs relationnels
Le tableau suivant montre tous les opérateurs relationnels pris en charge par C#. Supposons que la variable A détient 10 et variable B détient 20, alors −
Afficher des exemples
Opérateur | Description | Exemple |
---|---|---|
== | Vérifie si les valeurs de deux opérandes sont égales ou non, si oui alors la condition devient vraie. | (A ==B) n'est pas vrai. |
!= | Vérifie si les valeurs de deux opérandes sont égales ou non, si les valeurs ne sont pas égales alors la condition devient vraie. | (A !=B) est vrai. |
> | Vérifie si la valeur de l'opérande gauche est supérieure à la valeur de l'opérande droit, si oui alors la condition devient vraie. | (A> B) n'est pas vrai. |
< | Vérifie si la valeur de l'opérande gauche est inférieure à la valeur de l'opérande droit, si oui alors la condition devient vraie. | (A |
>= | Vérifie si la valeur de l'opérande gauche est supérieure ou égale à la valeur de l'opérande droit, si oui alors la condition devient vraie. | (A>=B) n'est pas vrai. |
<= | Vérifie si la valeur de l'opérande gauche est inférieure ou égale à la valeur de l'opérande droit, si oui alors la condition devient vraie. | (A <=B) est vrai. |
Opérateurs logiques
Le tableau suivant montre tous les opérateurs logiques pris en charge par C#. Supposons que la variable A contient la valeur booléenne true et la variable B contient la valeur booléenne false, alors −
Afficher des exemples
Opérateur | Description | Exemple |
---|---|---|
&& | Appelé l'opérateur ET logique. Si les deux opérandes sont différents de zéro, la condition devient vraie. | (A &&B) est faux. |
|| | Opérateur OU logique appelé. Si l'un des deux opérandes est différent de zéro, la condition devient vraie. | (A || B) est vrai. |
! | Appelé l'opérateur NON logique. Utilisez pour inverser l'état logique de son opérande. Si une condition est vraie, l'opérateur logique NON deviendra faux. | !(A &&B) est vrai. |
Opérateurs au niveau du bit
L'opérateur au niveau du bit fonctionne sur les bits et effectue une opération bit par bit. Les tables de vérité pour &, | et ^ sont les suivantes −
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 |
Supposons si A =60 ; et B =13 ; alors au format binaire ils sont les suivants −
A =0011 1100
B =0000 1101
-------------------
A&B =0000 1100
A|B =0011 1101
A^B =0011 0001
~A =1100 0011
Les opérateurs au niveau du bit pris en charge par C# sont répertoriés dans le tableau suivant. Supposons que la variable A contienne 60 et que la variable B contienne 13, alors −
Afficher des exemples
Opérateur | Description | Exemple |
---|---|---|
& | L'opérateur AND binaire copie un bit dans le résultat s'il existe dans les deux opérandes. | (A &B) =12, soit 0000 1100 |
| | L'opérateur OU binaire copie un bit s'il existe dans l'un ou l'autre des opérandes. | (A | B) =61, soit 0011 1101 |
^ | L'opérateur XOR binaire copie le bit s'il est défini dans un opérande mais pas dans les deux. | (A ^ B) =49, soit 0011 0001 |
~ | L'opérateur de complément à un binaire est unaire et a pour effet de "basculer" les bits. | (~A ) =-61, qui est 1100 0011 en complément à 2 dû à un nombre binaire signé. |
<< | Opérateur binaire de décalage vers la gauche. La valeur des opérandes de gauche est déplacée vers la gauche du nombre de bits spécifié par l'opérande de droite. | A <<2 =240, soit 1111 0000 |
>> | Opérateur de décalage binaire vers la droite. La valeur des opérandes de gauche est déplacée vers la droite du nombre de bits spécifié par l'opérande de droite. | A>> 2 =15, soit 0000 1111 |
Opérateurs d'affectation
Il existe les opérateurs d'affectation suivants pris en charge par C# −
Afficher des exemples
Opérateur | Description | Exemple |
---|---|---|
= | Opérateur d'affectation simple, attribue des valeurs des opérandes de droite à l'opérande de gauche | C =A + B attribue la valeur de A + B à C |
+= | Ajouter un opérateur d'affectation AND, il ajoute l'opérande droit à l'opérande gauche et affecte le résultat à l'opérande gauche | C +=A est équivalent à C =C + A |
-= | Soustraction ET opérateur d'affectation, il soustrait l'opérande droit de l'opérande gauche et affecte le résultat à l'opérande gauche | C -=A est équivalent à C =C - A |
*= | Multiplier l'opérateur d'affectation AND, il multiplie l'opérande droit avec l'opérande gauche et affecte le résultat à l'opérande gauche | C *=A est équivalent à C =C * A |
/= | Diviser ET opérateur d'affectation, il divise l'opérande gauche avec l'opérande droit et assigne le résultat à l'opérande gauche | C /=A est équivalent à C =C / A |
%= | Opérateur d'affectation ET de module, il prend le module en utilisant deux opérandes et affecte le résultat à l'opérande de gauche | C %=A est équivalent à C =C % A |
<<= | Opérateur de décalage à gauche ET d'affectation | C <<=2 est identique à C =C <<2 |
>>= | Décalage à droite ET opérateur d'affectation | C>>=2 est identique à C =C>> 2 |
&= | Opérateur d'affectation AND au niveau du bit | C &=2 est identique à C =C &2 |
^= | OU exclusif au niveau du bit et opérateur d'affectation | C ^=2 est identique à C =C ^ 2 |
|= | OU inclus au niveau du bit et opérateur d'affectation | C |=2 est identique à C =C | 2 |
Opérateurs divers
Il existe quelques autres opérateurs importants, notamment sizeof, typeof et ? : pris en charge par C#.
Afficher des exemples
Opérateur | Description | Exemple |
---|---|---|
sizeof() | Renvoie la taille d'un type de données. | sizeof(int), renvoie 4. |
typeof() | Renvoie le type d'une classe. | typeof(StreamReader); |
& | Renvoie l'adresse d'une variable. | &a ; renvoie l'adresse réelle de la variable. |
* | Pointeur vers une variable. | |
? : | Expression conditionnelle | Si Condition est vraie ? Alors valeur X :Sinon valeur Y |
est | Détermine si un objet est d'un certain type. | If( Ford is Car) // vérifie si Ford est un objet de la classe Car. |
comme | Diffusion sans lever d'exception si la diffusion échoue. | Objet obj =new StringReader("Bonjour"); StringReader r =obj as StringReader ; |
Priorité des opérateurs en C#
La priorité des opérateurs détermine le groupement des termes dans une expression. Cela affecte l'évaluation d'une expression. Certains opérateurs ont une priorité plus élevée que d'autres; par exemple, l'opérateur de multiplication a une priorité plus élevée que l'opérateur d'addition.
Par exemple x =7 + 3 * 2 ; ici, x se voit attribuer 13, et non 20 car l'opérateur * a une priorité plus élevée que +, donc la première évaluation a lieu pour 3*2, puis 7 y est ajouté.
Ici, les opérateurs avec la plus haute priorité apparaissent en haut du tableau, ceux avec la plus basse apparaissent en bas. Dans une expression, les opérateurs de priorité supérieure sont évalués en premier.
Afficher des exemples
Catégorie | Opérateur | Associativité |
---|---|---|
Suffixe | () [] -> . ++ - - | De gauche à droite |
Unaire | + - ! ~ ++ - - (type)* &taille | De droite à gauche |
Multiplicatif | * / % | De gauche à droite |
Additif | + - | De gauche à droite |
Maj | <<>> | De gauche à droite |
Relationnel | <<=>>= | De gauche à droite |
Égalité | ==!= | De gauche à droite |
ET au niveau du bit | & | De gauche à droite |
XOR bit à bit | ^ | De gauche à droite |
OU au niveau du bit | | | De gauche à droite |
ET logique | && | De gauche à droite |
OU logique | || | De gauche à droite |
Conditionnel | ? : | De droite à gauche |
Affectation | =+=-=*=/=%=>>=<<=&=^=|= | De droite à gauche |
Virgule | , | De gauche à droite |
Langue C