在 C# 中为类创建自己的 GetHashCode 方法的最佳方法是什么?假设我有一个简单的类(它覆盖了 Equals 方法),如下所示:
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);
}
}
我应该使用 GetHashCode 方法的默认代码吗?
public override int GetHashCode()
{
return base.GetHashCode();
}
我应该基于我的课程内容的方法吗?
public override int GetHashCode()
{
return names.GetHashCode() + values.GetHashCode() ;
}
还是我应该做点别的?