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?