0
所以我是LINQ的新手,剛剛從一個csv文件中做了一個測試查詢,它在數據網格中顯示它的結果。我正在使用簡單的Where語句,如Where sys =「System 1」,沒有問題。當它涉及多個測試時,我不知道有多少系統會被檢查,我被卡住了。VB:用列表過濾LINQ查詢
我應該如何設置檢查列表的位置?
Where listSystems.Contains(sys)
是我認爲應該工作,但它沒有返回任何結果。
全碼
Dim lstSystem As New List(Of String)
lstSystem.Items.Add("System 1")
lstSystem.Items.Add("System 4")
lstSystem.Items.Add("System 5")
lstSystem.Items.Add("System 7")
Dim Test As String() = System.IO.File.ReadAllLines("test.csv")
Dim query = From item In Test
Let data = item.Split(","c)
Let name = data(0)
Let sys = data(1)
Let price = data(2)
Where lstSystem.Contains(sys)
Order By name, sys, price Ascending
Select name, sys, price
dgvResults.DataSource = query.ToList
dgvResults.CurrentCell = Nothing
dgvResults.Columns("name").HeaderText = "Name"
dgvResults.Columns("sys").HeaderText = "System"
dgvResults.Columns("price").HeaderText = "Price"
謝謝!其中lstSystem.Any(Function(x)sys.Contains(x))做到了! – user2384199