2017-07-09 34 views
1

我必须列出:Linq查询到在两个列表只选择普通物品

Dim ListA as List (of MyClass) 
Dim ListB as List (of MyClass) 

MyClass包括场A, B , C, D

我想得出,其中包括基于领域唯一的比较只是普通物品清单A。即使有常见记录,.Intersect也会返回0计数列表(可能是因为MyClass没有实现比较方法)。另外,有没有办法在VB.Net中做到这一点?

+0

尝试'Join'的共同财产,你仍然可以使用具有相等比较 – Nkosi

回答

0

考虑使用LINQ加入对共同财产

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() 
+0

我用'那里itemA.A = itemB.A'和相交它工作得很好。问题在于我在一个循环中填充这些列表,首先列出一个空白的初始列表,导致最终列表为空。 –