3
我有一個動態數組,其中元素應該過濾linq查詢中的元素(where子句)。動態where子句查詢(連接數組元素)
我使用this questions中提到的System.Linq.Dynamic
頂級答案。如果我運行:
Dim query = From element In dtImitate.Where("Team = ""Avangers"" Or Team = ""Asgard""")
該查詢正在工作。但是,如果我收集的數組元素,並把它們放到一個像這樣的字符串:
Public Shared Function CreateDynString(ByRef arr As String()) As String
Dim a As New StringBuilder
a.Append("""")
For Each element In arr
a.Append("Team = ").Append("""""").Append(element).Append("""""").Append(" or ")
Next
Dim b As Integer = a.Length - 4
a.Remove(b, 4)
a.Append("""")
Return a.ToString
End Function
和運行查詢:
Dim s As String = DynamicStringBuilder.CreateDynString(teamsArray).ToString
Dim query = From element In dtImitate.Where(s)
什麼也沒有發生。我的DGV保持空白。任何人都可以幫助我得到這個查詢的工作,並可以告訴我,爲什麼它不工作。如果我打印s
它是"Team = ""Avangers"" Or Team = ""Asgard"""
。我不知道爲什麼它不起作用。