LINQ not equal doesn't work
我有一个只有一列和一个值列表的数据表。我想创建一个 LINQ 语句来从这个数据表中排除一些值。然后将结果用作查找表以从其他数据表中提取数据。这是我的代码。
1 2 3 4 5 6 7 8 9 10 11 | Dim cs1DT = From row In dt1 Where row.Field(Of String)(0) <>"BS2" Or row.Field(Of String)(0) <>"BS3" Select row Order By row Ascending For Each s As String In cs1DT.ToString Dim dt = From row In dt2.AsEnumerable Where row.Field(Of String)("Q_id").Contains(s) Select row If dt.Count > 0 Then ListDT.Add(dt.CopyToDataTable) Next |
它不起作用。输出包括值 BS2 和 BS3。情况更糟。它跳过了我在数据表 dt2 开头的前两个值列表。我不知道出了什么问题。 dt1 中的值与 dt2 中的前 3 个字符匹配。你能帮忙吗?谢谢你。
尝试使用
1 2 3 4 5 6 7 8 9 10 11 | Dim cs1DT = (From row In dt1 Where row.Field(Of String)(0) <>"BS2" And row.Field(Of String)(0) <>"BS3" Order By row Ascending Select row.Field(Of String)(0)).ToList() For Each s As String In cs1DT Dim dt = From row In dt2.AsEnumerable Where row.Field(Of String)("Q_id").Contains(s) Select row If dt.Count > 0 Then ListDT.Add(dt.CopyToDataTable) Next |