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 的网站上找到一些指南。

我在下面提供了一个示例:

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

如果您不覆盖此方法,任何类型的排序/相交/比较都将根据对象的引用来比较对象;因此,如果两个对象引用内存中的同一点,则它们被认为是“相等的”。

于 2009-05-14T17:18:03.647 回答