==, opérateur (Référence C#)

Mise à jour : novembre 2007

Pour les types valeur prédéfinis, l'opérateur d'égalité (==) retourne true si les valeurs des opérandes sont égales et false dans le cas contraire. Pour les types référence autres que string, == retourne true si ses deux opérandes font référence au même objet. Pour le type string, == compare les valeurs des chaînes.

Notes

Les types valeur définis par l'utilisateur peuvent surcharger l'opérateur == (consultez operateur). Les types référence définis par l'utilisateur peuvent faire de même, même si par défaut == se comporte comme décrit ci-dessus pour les types référence prédéfinis et définis par l'utilisateur. Si == est surchargé, != doit l'être également. Les opérations sur les types intégraux sont en général autorisées sur énumération.

Exemple

class Equality
{
    static void Main()
    {
        // Numeric equality: True
        Console.WriteLine((2 + 2) == 4);

        // Reference equality: different objects, 
        // same boxed value: False.
        object s = 1;
        object t = 1;
        Console.WriteLine(s == t);

        // Define some strings:
        string a = "hello";
        string b = String.Copy(a);
        string c = "hello";

        // Compare string values of a constant and an instance: True
        Console.WriteLine(a == b);

        // Compare string references; 
        // a is a constant but b is an instance: False.
        Console.WriteLine((object)a == (object)b);

        // Compare string references, both constants 
        // have the same value, so string interning
        // points to same reference: True.
        Console.WriteLine((object)a == (object)c);
    }
}
/*
Output:
True
False
True
False
True
*/

Voir aussi

Concepts

Guide de programmation C#

Référence

Opérateurs C#

Autres ressources

Référence C#