いくつかのテスト ケースを作成していて、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);
}
true と評価されない listItems というリストがあります。listItem は、Equals メソッドをオーバーライドする別のオブジェクト タイプです。
リストは、あるリストが別のリストと等しいかどうかをどのように判断しますか?
代わりに、各アイテムを他のアイテムと照合する必要がありますか?