Programmation en C# – Les opérateurs
Un opérateur est un symbole qui indique au compilateur d’effectuer des manipulations mathématiques ou logiques spécifiques. C# dispose d’un ensemble complet d’opérateurs intégrés et fournit le type d’opérateurs suivants:
- Opérateurs arithmétiques
- Opérateurs relationnels
- Opérateurs logiques
- Opérateurs bit à bit
- Opérateurs d’affectation
Ce tutoriel explique les opérations arithmétiques, relationnelles, logiques, bit à bit, affectation et autres opérateurs 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 la valeur 10 et la variable B détient la valeur 20 alors:
| Opérateur | Description | Exemple |
|---|---|---|
| + | Addition de deux opérandes | A + B = 30 |
| – | Soustrait le second 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 |
| % | Modulo c’est le reste après une division entière | B % A = 0 |
| ++ | L’opérateur d’incrémentation | A++ = 11 |
| — | L’opérateur de décrémentation | 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 la valeur 10 et la variable B détient la valeur 20, puis:
| Opérateur | Description | Exemple |
|---|---|---|
| == | Vérifie si les valeurs de deux opérandes sont égales ou non, si oui, la condition devient vraie. | (A == B) c’est faux. |
| != | Vérifie si les valeurs de deux opérandes sont égales ou non, si les valeurs ne sont pas égales, la condition devient vraie. | (A != B) c’est vrais. |
| > | Vérifie si la valeur de l’opérande gauche est supérieure à la valeur de l’opérande droit, si oui, la condition devient vraie. | (A > B) c’est faux. |
| < | Vérifie si la valeur de l’opérande gauche est inférieure à la valeur de l’opérande droit, si oui, la condition devient vraie. | (A < B) c’est vrais. |
| >= | Vérifie si la valeur de l’opérande gauche est supérieure ou égale à la valeur de l’opérande droit, si oui, la condition devient vraie. | (A >= B) c’est faux. |
| <= | Vérifie si la valeur de l’opérande gauche est inférieure ou égale à la valeur de l’opérande droit, si oui, la condition devient vraie. | (A <= B) c’est vrais. |
Opérateurs logiques
Le tableau suivant montre tous les opérateurs logiques pris en charge par C#. Supposons que la variable A tient la valeur booléenne vraie et la variable B tient la valeur booléenne false, puis:
| Opérateur | Description | Exemple |
|---|---|---|
| && | Opérateur ET logique. Si les deux opérandes ne sont pas zéro, la condition devient vraie. | (A && B) c’est faux. |
| || | Opérateur OU logique. Si l’un des deux opérandes n’est pas nul, la condition devient vraie. | (A || B) c’est vrais. |
| ! | Opérateur logique NOT. Utilisé pour inverser l’état logique de son opérande. Si une condition est vraie, l’opérateur logique NOT le rendra fausses. | !(A && B) c’est vrais. |
Opérateurs bit à bit
L’opérateur bit à bit fonctionne sur les bits et effectue une opération bit à 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; Ensuite, dans le format binaire, ils sont comme suit:
A = 0011 1100
B = 0000 1101
—————–
A & B = 0000 1100
A | B = 0011 1101
A ^ B = 0011 0001
~ A = 1100 0011
Les opérateurs bit à bit supportés par C# sont répertoriés dans le tableau suivant. Supposons que la variable A détient la valeur 60 et la variable B détient la valeur 13, puis:
| Opérateur | Description | Exemple |
|---|---|---|
| & | L’opération AND (aussi connue sous le nom de « fonction AND ») produira toujours une sortie si les deux entrées sont 1 et produiront une sortie 0 si une ou les deux entrées sont 0. | (A & B) = 12, lequel est 0000 1100 |
| | | L’opération OR binaire (également appelée fonction OR binaire) produira toujours une sortie si l’une de ses entrées est 1 et produira une sortie 0 si les deux entrées sont 0. | (A | B) = 61, lequel est 0011 1101 |
| ^ | L’opération XOR binaire (également appelée la fonction XOR binaire) produira toujours une sortie si l’une de ses entrées est 1 et produira une sortie 0 si les deux entrées sont 0 ou 1. | (A ^ B) = 49, lequel est 0011 0001 |
| ~ | L’opérateur unaire et a pour effet de « flipping » bits. | (~A ) = 61, lequel est 1100 0011 En complément de 2 en raison d’un nombre binaire signé. |
| << | Décalage vers la gauche les bits d’une expression | A << 2 = 240, lequel est 1111 0000 |
| >> | Décalage vers la droit les bits d’une expression | A >> 2 = 15, lequel est 0000 1111 |
Opérateurs d’affectation
Les opérateurs d’affectation suivants sont pris en charge par C# :
| Opérateur | Description | Exemple |
|---|---|---|
| = | Opérateur d’affectation simple, Attribue les valeurs des opérandes du côté droit à l’opérande du côté gauche | C = A + B affecte la valeur de A + B en C |
| += | Addition combinée à l’affectation, Il ajoute l’opérande droit à l’opérande gauche et attribue le résultat à l’opérande gauche | C += A est équivalent à C = C + A |
| -= | Soustraction combinée à l’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 |
| *= | Multiplication combinée à l’affectation, Il multiplie l’opérande droit avec l’opérande gauche et attribue le résultat à l’opérande gauche | C *= A est équivalent à C = C * A |
| /= | Division combinée à l’affectation, Il divise l’opérande gauche avec l’opérande droit et attribue le résultat à l’opérande gauche | C /= A est équivalent à C = C / A |
| %= | Modulo combinée à l’affectation, il prend le module en utilisant deux opérandes et affecte le résultat à l’opérande gauche | C %= A est équivalent à C = C % A |
| <<= | Décalage à gauche combinée à l’affectation | C <<= 2 est identique à C = C << 2 |
| >>= | Décalage à droit combinée à l’affectation | C >>= 2 est identique à C = C >> 2 |
| &= | AND binaire combinée à l’affectation | C &= 2 est identique à C = C & 2 |
| ^= | OU exclusif combinée à l’affectation | C ^= 2 est identique à C = C ^ 2 |
| |= | OU inclusif combinée à l’affectation | C |= 2 est identique à C = C | 2 |
Opérateurs divers
Il existe quelques autres opérateurs importants, y compris sizeof, typeof et ? : Pris en charge par C#.
| 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 actuelle de la variable. |
| * | Pointeur vers une variable. | *a; crée un pointeur nommé ‘a’ sur une variable. |
| ? : | Expression conditionnelle | Si la condition est vraie ? Alors valeur la X: sinon la valeur Y |
| is | Détermine si un objet est d’un certain type. | If( BMW is Car) // vérifie si BMW est un objet de la classe Car. |
| as | Cast sans élevé une exception si le casting échoue. | Object obj = new StringReader("WayToLearnX"); StringReader r = obj as StringReader; |





