我正在制作一些测试用例,并注意到我需要检查 MyObject 是否等于另一个 MyObject。
我创建了我的 Equals 方法,如下所示:
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj)) return false;
if (ReferenceEquals(this, obj)) return true;
return obj.GetType() == typeof(MyObject) && Equals((MyObject) obj);
}
public bool Equals(MyObject other)
{
if (ReferenceEquals(null, other)) return false;
if (ReferenceEquals(this, other)) return true;
return Equals(other.listItems, listItems);
}
public override int GetHashCode()
{
return (TimeBlocks != null ? TimeBlocks.GetHashCode() : 0);
}
有一个名为 listItems 的列表未评估为真。listItem 是另一种对象类型,它确实覆盖了 Equals 方法。
List 如何决定一个列表是否等于另一个?
我应该检查每个项目而不是另一个吗?