ixemul a écrit :
D'ailleur, il me vient une petite idee sur un debat à lancer...
Mieux vaut-il utiliser une instruction d'egalité sous la forme
Code :
- if(MonObjet == null)
|
Ou plutot
Code :
- if(MonObjet.Equals(null))
|
|
ça dépend de ce que tu compares.
si tu compares 2 types valeur, alors utiliser l'un ou l'autre est exactement la même chose :
Code :
- int a = 5;
- int b = 5;
- Console.WriteLine(a == b);
- Console.WriteLine(a.Equals(b));
|
te renverra
par contre, si tu compares 2 types references, == fera une comparaison d'identité (les references pointent t'elles sur le même objet ?) , tandis que Equals comparera les valeurs.
Code :
- Int32 a = new Int32(5);
- Int32 b = new Int32(5);
- Console.WriteLine (a == b);
- Console.WriteLine (a.Equals(b));
|
te renverra
attention à l'exception par contre : l'operateur == de la classe String compare les valeurs, et non les references (même si c'est un type reference). il en est de même pour System.Object
pour éviter toute ambiguité, le mieux est d'utiliser Equals() si tu veux comparer les valeurs, et ReferenceEquals si tu veux comparer les references.
---------------
J'ai un string dans l'array (Paris Hilton)