Mega Code Archive

 
Categories / C# / Collections Data Structure
 

Implement GetHashCode method and store it in a hashtable

using System; using System.Collections; public class GoodCompare {   public static void Main() {     Name president = new Name ("A", "B");     Name first = new Name ("C", "D");          Hashtable m = new Hashtable();     m.Add(president, "first");     Console.WriteLine(m.Contains(first));     Console.WriteLine(m[first]);    } } public class Name {   protected String first;   protected char initial;   protected String last;              public Name(String f, String l) {     first = f;      last = l;    }   public Name(String f, char i, String l) : this(f,l) {     initial = i;     }    public override String ToString() {     if (initial == '\u0000')        return first + " " + last;     else          return first + " " + initial + " " + last;   }   public override bool Equals(Object o) {     if (!(o is Name))        return false;     Name name = (Name)o;     return first == name.first && initial == name.initial              && last == name.last;   }   public override int GetHashCode() {     return first.GetHashCode() + (int)initial                               + last.GetHashCode();   } }