LINQ 到数据集包含或任何



我正在尝试解决问题,但现在没有成功。

我有一个包含 3 个字段的数据表:f1、f2、f3(字符串、字符串、双精度)。

我想编写一个 linq 查询,它执行以下操作:它选择行,其中 f1 的任何值都与 f2 值不匹配。换句话说,这是 f2 值,它不会出现在 f1 字段值中。

我应该如何组合包含关键字的位置?

尝试使用 LINQ 扩展函数 GroupJoin

Dim dt As DataTable 'Your datatable
Dim uusi As IEnumerable(Of DataRow) = dt.AsEnumerable() _
            .GroupJoin(Of DataRow, String, DataRow)(dt.AsEnumerable(),
                 Function(dr) dr.Field(Of String)("f1"),
                 Function(dr) dr.Field(Of String)("f2"),
                 Function(row, matched)
                     If matched.Count > 0 Then
                         Return Nothing
                     End If
                     Return row
                 End Function) _
            .Where(Function(row) row IsNot Nothing)

GroupJoin方法将按给定值(第二个和第三个参数
中的 lambda)查找匹配的行然后最后一个参数是创建结果集合的 lambda/方法,
在那里我们检查匹配行的集合是否为空
Where函数从集合中删除空行

最新更新