如何查看 2 个对象数组之间的常见项目。我的相交没有返回任何东西。该对象是从 Linq to SQL 类创建的。
问问题
258 次
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 回答