私は正常にEquals関数とHashCode関数をオーバーライドしたカスタムオブジェクトを持っています。それから私は2つのObservable Collectionsを持っていますが、私は正確に同じオブジェクトを初期化します(ただし、参照は異なります)。だから私はこのコードを持っています:C#Equality in ObservableCollection
if (qObjects.Equals(qObjects2)) {
Console.WriteLine("Arrays are equal");
}
これは私が本当に返すと期待しているが、falseを返します。私はEqual関数とHashCode関数で何か問題があったと言うかもしれません。しかしこれは変です:
for (int i = 0; i < qObjects.Count(); i++) {
arraysIsEqual = qObjects[i].Equals(qObjects2[i]);
if (!arraysIsEqual)
break;
}
if (arraysIsEqual) {
Console.WriteLine("Arrays are equal");
}
上記のコードスニペットはtrueを返します。だから私はここで何が欠けているのですか?
*正常にEquals関数とHashCode関数をオーバーライドしました。* qObjectsクラスも表示できますか? –