如何从LINQ - VB.net获取过滤记录

时间:2015-09-17 20:48:15

标签: vb.net linq

我有两个列表对象 -

LIST1 - >

Cloumn1   Cloumn2
RI          1
OH          2
MI          3

LIST2 - >

Column1   Column2
RI          1
TX          2
NY          3
MI          3
OH          4

现在,当LIST1中的行不匹配时,我需要从LIST2获取数据。喜欢我正在寻找以下结果 -

TX   2
NY   3
OH   4

如何通过LINQ查询实现它?

1 个答案:

答案 0 :(得分:1)

不确定VB.Net中的情况如何,C#就是这样:

IList<MyObj> result = list2.Where(i2 => list1.All(i1 => i1.Column1 != i2.Column1 || i1.Column2 != i2.Column2)).ToList();

我相信它会是这样的:

Dim result = From i2 In list2
             Where list1.All(Function(i1 As MyObj)
                             Return i1.Column1 <> i2.Column1 Or i1.Column2 <> i2.Column2
                             End Function)
             Select i2