2017-07-09 71 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'和相交它工作得很好。問題在於我在一個循環中填充這些列表,首先列出一個空白的初始列表,導致最終列表爲空。 –