Ignorer les liens de navigationAccueil : Le langage C# : Les opérateurs : Incrémentation et décrémentation Ignorer les liens de navigation
Accueil
Introduction au Framework .NETDévelopper Introduction au Framework .NET
Le langage C#Développer Le langage C#
Programmation orientée objetsDévelopper Programmation orientée objets
CollectionsDévelopper Collections
ADO.NETDévelopper ADO.NET
LINQDévelopper LINQ
ASP.NETDévelopper ASP.NET
Workflow FoundationDévelopper Workflow Foundation
Besoins de prestationDévelopper Besoins de prestation

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