Accueil : Le langage C# : Les opérateurs : Incrémentation et décrémentation
Incrémentation et décrémentation en C#
En C#, il y a plusieurs façons d’incrémenter ou de décrémenter des variables. La manière la plus classique consiste à utiliser la forme suivante :
i = i + 4;
En C#, tous les opérateurs arithmétiques ont une forme raccourcie. On peut écrire le même code de la manière suivante :
i += 4;
C# possède également deux opérateurs d’incrémentation et de décrémentation. L’opérateur de pré-incrémentation s’utilise comme ci-dessous.
class Program
{
static void
Main(string[] args)
{
int i = 10;
i++;
Console.WriteLine(i);
}
}
Le programme produit le résultat suivant :
11
L’opérateur de post-incrémentation s’utilise comme ci-dessous :
class Program
{
static void
Main(string[] args)
{
int i = 10;
i++;
Console.WriteLine(i);
}
}
Le programme produit le résultat suivant :
11
Les deux exemples précédents montrent qu’utilisés seul sur la ligne, l’opérateur de pré-incrémentation ou de post-incrémentation produisent les mêmes résultats et dans les deux cas la variable i a bien été incrémentée d’une unité. Comme nous allons le voir, si les opérateurs sont placés au sein d’une expression, la manière d’évaluer l’expression va changer. L’exemple suivant montre comment utiliser l’opérateur de post-incrémentation dans une expression.
class Program
{
static void
Main(string[] args)
{
int a = 10;
int b = a++;
Console.WriteLine("a={0},b={1}", a, b);
}
}
Le programme produit le résultat suivant :
a=11,b=10
Dans le calcul de b, l’incrémentation de a n’a pas été prise en compte. Autrement dit, l’incrémentation s’est produite après l’évaluation de l’expression.
L’exemple suivant montre comment utiliser l’opérateur de pré-incrémentation dans une expression.
class Program
{
static void
Main(string[] args)
{
int a = 10;
int b = ++a;
Console.WriteLine("a={0},b={1}", a, b);
}
}
Le programme produit le résultat suivant :
a=11,b=11
Dans le calcul de b, l’incrémentation de a a été prise en compte. L’incrémentation s’est donc produite avant l’évaluation de l’expression.
De la même manière que pour les opérateurs d’incrémentation, il existe deux opérateurs de décrémentation qui ont un fonctionnement similaire.
Le code suivant montre comment utiliser les deux opérateurs de décrémentation.
class Program
{
static void
Main(string[] args)
{
int a = 10;
int b = --a;
int c = a--;
Console.WriteLine("a={0}, b={1}, c={2}", a,
b, c);
}
}
Le programme produit le résultat suivant :
a=8, b=9, c=9