0

オブジェクトの 2 つの配列間で共通のアイテムを表示するにはどうすればよいですか。私の交差点は何も返していません。オブジェクトは、Linq to SQL クラスから作成されます。

4

4 に答える 4

1

Java atleat では、.equals() 演算子をオーバーライドしない限り、オブジェクトの等価性がテストされます (基本的に == を使用)。それが交差点が空いている理由かもしれません。

于 2009-05-14T15:33:16.893 に答える
1

Equals メソッドをオーバーライドしましたか?

于 2009-05-14T15:34:04.457 に答える
0

もちろん、それらを並べ替える必要があります。

于 2009-05-14T17:14:36.853 に答える
0

オブジェクトの Equals メソッドをオーバーライドする必要があります。Microsoft の Web サイトでいくつかのガイドラインを見つけることができます。

以下にサンプルを用意しました。

public override bool Equals(System.Object obj)
{
    if (obj != null && obj is MyClass)
    {
        MyClass obj2 = (MyClass)obj;
        return (obj2.ID == this.ID);
    }
}

このメソッドをオーバーライドしない場合、どの種類の並べ替え/交差/比較でも、参照に基づいてオブジェクトが比較されます。そのため、2 つのオブジェクトがメモリ内の同じ場所を参照している場合、それらは「等しい」と見なされます。

于 2009-05-14T17:18:03.647 に答える