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?