Langage C# – A propos des opérateurs ++ et – –

En C#, pour incrémenter et décrémenter une variable de type numérique, nous pouvons respectivement utiliser les opérateurs ++ et –. Ces opérateurs sont utilisables de deux manières : en préfixant ou suffixant une variable. Par exemple, si i est une variable de type int, alors nous pouvons écrire ++i et i++ ; –i et i–.
La question que je pose dans cet article est le suivante : les instructions ++i et i++ ont-elles toujours le même comportement ? A première vue, la réponse est affirmative si nous les utilisons simplement pour incrémenter ou décrémenter la valeur contenue dans la variable i. Mais quand est-il lorsque nous l’utilisons dans une instruction pour exécuter des traitements ou dans une affectation ? Voici un exemple :
int i = 10;
int j = ++i;

A l’issue de l’exécution de ce bloc de code, quelles sont les valeurs des variables i et j ? i et j valent 11.
Autre exemple :
int i = 10;
int j = i++;

A l’issue de l’exécution de ce bloc de code, quelles sont les valeurs des variables i et j ? i vaut 10 et j vaut 11.

Pourquoi cette différence ? Dans ces exemples, lorsque l’opérateur ++ préfixe la variable, il est prioritaire sur l’affectation et est par conséquent exécuté avant. Lorsqu’il suffixe la variable, il n’est pas prioritaire et est exécuté après l’affectation.

About: James RAVAILLE

Travaillant avec la plateforme Microsoft .NET depuis 2002, j’alterne les missions de formation et d’ingénierie avec cette plateforme. J’écris ce blog pour transmettre mes connaissances à tout développeur, qu’il soit débutant ou expérimenté.