LINQ to Objects - 不包含?

Nic*_*ick 2 linq vb.net linq-to-objects

我有一个项目集合,每个项目都有一组关系.我有一个项目列表,项目可以与之关系.

我可以找到所有具有特定关系的项目,但我现在想要找到所有与我的任何组没有关系的项目.

通过这样做,我可以找到与任何组有关系的项目:

Dim groupIds as List(of Integer) = (From g In cmdbGroups Select g.ID).ToList
Dim haveGroup = (From item In items _
                 Where item.Relationships.Any(Function(r) groupIds.Contains(r.TargetID)) _
                 Select item).ToList
Run Code Online (Sandbox Code Playgroud)

如何查找与任何组无关的所有项目?

And*_*are 6

你试过否定Contains方法的结果吗?

Dim groupIds as List(of Integer) = (From g In cmdbGroups Select g.ID).ToList
Dim haveGroup = (From item In items _
                 Where item.Relationships.Any(Function(r) Not groupIds.Contains(r.TargetID)) _
                 Select item).ToList
Run Code Online (Sandbox Code Playgroud)


Str*_*ior 6

我不记得VB那么好,但一个简单的"不"应该工作.

Dim groupIds as List(of Integer) = (From g In cmdbGroups Select g.ID).ToList
Dim haveGroup = (From item In items _
             Where Not item.Relationships.Any(Function(r) groupIds.Contains(r.TargetID)) _
             Select item).ToList
Run Code Online (Sandbox Code Playgroud)