Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
796 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [.Net 2 CLR] relation entre GetHashCode() et Equals()

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[.Net 2 CLR] relation entre GetHashCode() et Equals()

n°1479333
_Mose_
Lonesome coder
Posté le 21-11-2006 à 15:38:32  profilanswer
 

Voici un court programme.
Que retourne t-il ?

Code :
  1. // je choppe une méthode (n'importe laquelle)
  2.   MemberInfo mi1 = typeof(XmlDocument).GetMethod("ToString" );
  3.   // je choppe son module & son metadatatoken
  4.   Module module = mi1.Module;
  5.   int token = mi1.MetadataToken;
  6.   // maintenant, dans le module, j'essaye de retrouver le même MemberInfo
  7.   MemberInfo mi2 = module.ResolveMember(token);
  8.   // Et là, j'hallucine
  9.   Console.WriteLine((mi1 == mi2) + " = (mi1 == mi2)" );
  10.   Console.WriteLine((mi1.Equals(mi2)) + " = (mi1.Equals(mi2))" );
  11.   Console.WriteLine(MemberInfo.ReferenceEquals(mi1, mi2) + " = (MemberInfo.ReferenceEquals(mi1, mi2)" );
  12.   Console.WriteLine((mi1.GetHashCode() == mi2.GetHashCode()) + " = (mi1.GetHashCode() == mi2.GetHashCode()" );


Réponse :
Faux
Faux
Faux
Vrai
 
Quelqu'un peut m'expliquer comment c'est possible ?
 
   Mose, très énervé contre MS qui sait pas gérer la compatiblité ascendante

mood
Publicité
Posté le 21-11-2006 à 15:38:32  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [.Net 2 CLR] relation entre GetHashCode() et Equals()

 

Sujets relatifs
Option de compilation 16 bits sur Visual .NET ?[C# .NET/base de données]
[C# .Net] Mettre en commun du code[.Net] Qui utilise CodeSmith + NetTiers ?
Hébergement ASP.NET 2.0 ?[C# .Net] Localisation pour site multilingue
[ASP.Net] Impossible d'ouvrir une solution[C# ASP.Net] Problème lors de l'envoi d'un email
[C#] DataGridView & Relation 
Plus de sujets relatifs à : [.Net 2 CLR] relation entre GetHashCode() et Equals()


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR