Ignorer les liens de navigationAccueil : Le langage C# : Les opérateurs : Opérateurs arithmétiques 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

Les opérateurs arithmétiques en C#

Les opérateurs arithmétiques sont classiques. On dispose des opérateurs suivants :

Il n’y a rien à signaler hormis le cas de la division. Tout d’abord, observons le fonctionnement d’une division entière.

 

class Program

{

    static void Main(string[] args)

    {

        int a = 10;

        int b = 0;

        int r = a / b;

        Console.WriteLine(r);

    }

}

Le programme produit le résultat suivant :


Exception non gérée : System.DivideByZeroException: Tentative de division par zéro.
   à ConsoleApplication4.Program.Main(String[] args) dans C:\solutions\poubelle\
ConsoleApplication4\ConsoleApplication4\Program.cs:ligne 13


En toute logique, la CLR lève une exception de type DivideByZeroException. Si on refait la même chose avec une division non entière il en va tout autrement comme le montre l’exemple suivant :

 

class Program

{

    static void Main(string[] args)

    {

        double a = 10.0;

        double b = -10.0;

        double c = 0.0;

        double r1 = a / c;

        double r2 = b / c;

        double r3 = c / c;

        Console.WriteLine("{0} / {1} = {2}", a, c, r1);

        Console.WriteLine("{0} / {1} = {2}", b, c, r2);

        Console.WriteLine("{0} / {1} = {2}", c, c, r3);

    }

}

 

Le programme produit le résultat suivant :


10 / 0 = +Infini
-10 / 0 = -Infini
0 / 0 = Non Numérique

Le type double possède plusieurs constantes que l’on peut utiliser pour tester si des variables contiennent ces valeurs particulières :