==, 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
*/