Vb.net Linq查询仅选择两个列表中的常用项
我必须列出:Vb.net Linq查询仅选择两个列表中的常用项,vb.net,linq,Vb.net,Linq,我必须列出: Dim ListA as List (of MyClass) Dim ListB as List (of MyClass) MyClass包括字段A、B、C、D 我想根据字段a的比较,导出一个只包含常用项的列表.Intersect即使存在公共记录也返回0计数列表(可能是因为MyClass未实现比较方法)。另外,在VB.Net中是否有这样做的方法 考虑在公共属性上使用Linq Join Dim ListA As List (Of SomeClass) Dim ListB As Li
Dim ListA as List (of MyClass)
Dim ListB as List (of MyClass)
MyClass
包括字段A、B、C、D
我想根据字段
a
的比较,导出一个只包含常用项的列表.Intersect
即使存在公共记录也返回0计数列表(可能是因为MyClass未实现比较方法)。另外,在VB.Net中是否有这样做的方法 考虑在公共属性上使用Linq Join
Dim ListA As List (Of SomeClass)
Dim ListB As List (Of SomeClass)
'...
'Assuming both lists are initialized and populated
Dim ListC As List (Of SomeClass) = (From itemA In ListA
Join itemB In ListB
On itemA.A Equals itemB.A
Select itemA).ToList()
考虑在公共属性上使用Linq Join
Dim ListA As List (Of SomeClass)
Dim ListB As List (Of SomeClass)
'...
'Assuming both lists are initialized and populated
Dim ListC As List (Of SomeClass) = (From itemA In ListA
Join itemB In ListB
On itemA.A Equals itemB.A
Select itemA).ToList()
在公共属性上尝试
Join
,在公共属性上仍然可以使用intersect with A equality comparerTryJoin
,在公共属性上仍然可以使用intersect with A equality comparerI i usewhere itemA.A=itemB.A
并且工作正常。问题是,我在一个循环中填充这些列表,从一个空白的初始列表开始,这导致最终列表为空白。我使用了其中itemA.a=itemB.a
,效果很好。问题是,我在一个循环中填写这些列表,从一个空白的初始列表开始,这导致最终列表为空白。