【发布时间】:2014-11-26 17:19:58
【问题描述】:
我有一个只有一列和一个值列表的数据表。我想创建一个 LINQ 语句来从这个数据表中排除一些值。然后将结果用作查找表以从其他数据表中提取数据。这是我的代码。
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 个字符匹配。你能帮忙吗?谢谢你。
【问题讨论】:
-
您正在使用
Or逻辑运算符。你需要一个And。