What is the best way to create your own GetHashCode method for a class in C#? Suppose I have a simple class (which overrides the Equals method), as follows:
class Test
{
   public string[] names;
   public double[] values;
   public override bool Equals(object obj)
   {
      return (obj is Test) && this.Equals((Test)obj);
   }
   public bool Equals(Test t)
   {
      return names.Equals(t.names) && values.Equals(t.values);
   }
}
Should I use the default code for the GetHashCode method?
public override int GetHashCode()
{
   return base.GetHashCode();
}
Should I base the method on the contents of my class?
public override int GetHashCode()
{
   return names.GetHashCode() + values.GetHashCode() ;
}
Or should I do something else?
 
     
     
     
     
     
    