我有一个相当复杂的对象,需要获取这些对象的唯一性。其中一种解决方案可以通过重写GetHashCode()
来实现。我已经实现了以下代码:
public override int GetHashCode()
{
return this._complexObject1.GetHashCode() ^
this._complexObject2.GetHashCode() ^
this._complexObject3.GetHashCode() ^
this._complexObject4.GetHashCode() ^
this._complexObject5.GetHashCode() ^
this._complexObject6.GetHashCode() ^
this._complexObject7.GetHashCode() ^
this._complexObject8.GetHashCode();
}
这些复杂的对象还覆盖了 GetHashCode() 并执行类似的操作。
我的项目需要处理这些对象,我需要它们是唯一的,并且数据也会在不同的地方以各种方式发生变化。
我需要一种更快的方法来查找这些复杂对象的唯一性,需要考虑性能和内存。
提前感谢
Munim
GetHashCode()
可能不是一个好的开始 - 除此之外,它只能保证不相等(不能用于测试相等性)。 - Marc GravellGetHashCode()
来检查对象是否不相等,这正是我需要做的。 - Abdul Munim