0
我試圖解決一個問題,但現在沒有成功。LINQ到數據集包含或任何
我有一個數據表有3個字段:f1,f2,f3(字符串,字符串,雙)。
我想寫一個linq查詢,它會產生以下結果:它選擇行,其中f1的任何值與f2值都不匹配。換句話說,哪些是f2值,哪些不會在f1字段值中出現。
我應該如何結合where,any,包含關鍵字?
我試圖解決一個問題,但現在沒有成功。LINQ到數據集包含或任何
我有一個數據表有3個字段:f1,f2,f3(字符串,字符串,雙)。
我想寫一個linq查詢,它會產生以下結果:它選擇行,其中f1的任何值與f2值都不匹配。換句話說,哪些是f2值,哪些不會在f1字段值中出現。
我應該如何結合where,any,包含關鍵字?
嘗試使用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表達式中的第二和第三個參數)
然後最後一個參數是λ-這創造結果收集/方法,
我們檢查匹配行的集合是否爲空
和Where
函數刪除集合中的空行
正如我寫的,我試圖做一個LINQ查詢。我的對象/集合是Datatable.AsEnumerable。 – derstauner