Share via


Opérateurs (Visual C# Express)

Mise à jour : novembre 2007

En C#, les opérateurs ont une syntaxe semblable à celle d'autres langages de programmation de type C. Les opérateurs servent à faire des calculs, à assigner des valeurs à des variables, à vérifier l'égalité ou l'inégalité et à effectuer d'autres opérations.

Les sections suivantes répertorient certains des opérateurs les plus couramment utilisés en C#. Pour une liste complète de tous les opérateurs, consultez Opérateurs C#.

Opérateurs d'assignation et d'égalité

En C#, l'opérateur de signe égal (=) a les mêmes fonctions que dans C et C++ :

Opérateur

But

=

Assigne une valeur.

==

Vérifie l'égalité.

Exemple

int x = 100;
if (x == 100)
{
    System.Console.WriteLine("X is equal to 100");
}

Opérateurs mathématiques et logiques

Les éléments suivants sont une liste d'opérateurs mathématiques de base, classés par ordre de priorité. Utilisez des parenthèses pour forcer un autre classement.

Opérateur

But

*, /, %

Multiplication, division, module

+, -

Addition, soustraction

&

AND logique

^

XOR logique

|

OR logique

Exemple

int x = 1;
int y = x + 10 * 100;      // multiplication first y = 1001
int z = (x + 10) * 100;    // addition first       z = 1100

Opérateurs d'incrémentation et de décrémentation

Les raccourcis de style de C/C++ sont pris en charge, y compris les opérateurs de suffixe et de préfixe, comme dans les exemples suivants :

Opérateur

But

v++

Incrémenter la variable v d'une unité.

v+=n

Incrémenter la variable v de n unités.

v*=n

Multiplier la variable v par n.

v-=n

Soustraire n de la variable v.

Exemple

int x = 0;

int y = x++;    // x is 1, y is 0

System.Console.WriteLine("{0} {1}", x, y);

int z = ++x;    // x is 2, z is 2

System.Console.WriteLine("{0} {1}", x, z);

Opérateurs relationnels

Les opérateurs suivants comparent deux valeurs et retournent un résultat bool :

Opérateur

But

==

Vérifie l'égalité.

!=

Vérifie l'inégalité.

>

Supérieur à.

<

Inférieur à.

>=

Supérieur ou égal à.

<=

Inférieur ou égal à.

Exemple

int x = int.Parse(System.Console.ReadLine());

if (x > 100)
{
    System.Console.WriteLine("X is greater than 100");
}

Opérateurs conditionnels logiques

Les opérateurs logiques servent à créer des instructions de condition plus flexibles en combinant plusieurs clauses :

Opérateur

But

&&

AND conditionnel.

||

OR conditionnel.

!

NOT conditionnel.

Exemple

int x = int.Parse(System.Console.ReadLine());

if ((x >= 100) && (x <= 200))
{
    System.Console.WriteLine("X is between 100 and 200");
}

Opérateurs mathématiques plus évolués

Pour effectuer des opérations mathématiques plus évoluées, par exemple de trigonométrie, utilisez la classe Math du Frameworks. Dans cet exemple, les méthodes Sin (sinus) et Sqrt (racine carrée), et constante PI sont utilisées :

Exemple

double d = System.Math.Sin(System.Math.PI/2);
double e = System.Math.Sqrt(144);

Surcharge d'opérateur

C# prend en charge la surcharge d'opérateur ; cela vous permet de redéfinir des opérateurs pour qu'ils soient plus explicites en cas d'utilisation avec vos propres types de données. Dans l'exemple suivant, un struct est créé, et il stocke un jour de la semaine dans un type de variable défini par une énumération. Pour plus d'informations, consultez Structures (Visual C# Express) et Énumérations (Visual C# Express). L'opérateur d'addition est surchargé pour pouvoir ajouter un nombre entier de jours au jour actuel et retourner un nouveau jour de la semaine. Ainsi, dimanche auquel est ajouté un jour retourne lundi.

Exemple

using System;

// Define an DayOfWeek data type
enum DayOfWeek { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday };

// Define a struct to store the methods and operators
struct Day 
{
    private DayOfWeek day;

    // The constructor for the struct
    public Day(DayOfWeek initialDay)
    {
        day = initialDay;
    }

    // The overloaded + operator
    public static Day operator +(Day lhs, int rhs)
    {
        int intDay = (int)lhs.day;
        return new Day((DayOfWeek)((intDay + rhs) % 7));
    }

    // An overloaded ToString method
    public override string ToString()
    {
        return day.ToString();
    }
}

public class Program
{
    static void Main()
    {
        // Create a new Days object called "today"
        Day today = new Day(DayOfWeek.Sunday);
        Console.WriteLine(today.ToString());

        today = today + 1;
        Console.WriteLine(today.ToString());

        today = today + 14;
        Console.WriteLine(today.ToString());
    }
}

Voir aussi

Concepts

Initiation au langage C#

Référence

Opérateurs C#