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

发布于 2024-07-21 06:08:33 字数 65 浏览 2 评论 0原文

如何查看两个对象数组之间的公共项目。 我的相交没有返回任何东西。 该对象是从 Linq to SQL 类创建的。

How do I see common Items between 2 array of Objects. My intersect is not returning anything. The object is created from a Linq to SQL class.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

ら栖息 2024-07-28 06:08:33

在 Java 中,除非您重写 .equals() 运算符,否则它将测试对象相等性(本质上使用 ==)。 这可能就是为什么十字路口是空的。

In Java atleat, unless you override the .equals() operator, it will test for object equality (essentially using ==). That might be why the intersection is emtpy.

海之角 2024-07-28 06:08:33

您是否重写了 Equals 方法?

Did you override the Equals method?

dawn曙光 2024-07-28 06:08:33

您将需要重写该对象的 Equals 方法。 您可以在 Microsoft 网站上找到一些指南

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

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

如果您不重写此方法,任何类型的排序/相交/比较都会根据对象的引用来比较对象; 因此,如果两个对象引用内存中的同一位置,则它们被视为“相等”。

You will need to override the object's Equals method. You can find some guidelines at Microsoft's web site.

I've provided a sample below:

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

If you do not override this method, any kind of sort/intersect/comparison will compare the objects based on their reference; so, if two objects refer to the same spot in memory, they are considered "equal."

围归者 2024-07-28 06:08:33

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

You will have to sort them, of course.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文