如何查看2个对象数组之间的公共项

时间:2009-05-14 15:27:34

标签: linq-to-sql intersection

如何查看2个对象数组之间的公共项。我的十字架没有返回任何东西。该对象是从Linq到SQL类创建的。

4 个答案:

答案 0 :(得分:1)

在Java atleat中,除非覆盖.equals()运算符,否则它将测试对象相等性(主要使用==)。这可能就是为什么十字路口是空的。

答案 1 :(得分:1)

您是否覆盖了Equals方法?

答案 2 :(得分:0)

当然,你必须对它们进行排序。

答案 3 :(得分:0)

您需要覆盖对象的Equals方法。您可以在Microsoft的网站上找到some guidelines

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

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

如果不重写此方法,任何类型的排序/交叉/比较都会根据对象的参考来比较对象;所以,如果两个对象在内存中引用相同的位置,则认为它们是“相等的”。