0
인 linq 쿼리를 필터링하므로 LINQ를 처음 사용하고 있으며 데이터 격자에 결과를 표시하는 CSV 파일에서 테스트 쿼리를 만들었습니다. 나는 간단한 Where 문을 어디서 sys = "System 1"과 같이 문제없이 사용했다. 그것이 얼마나 많은 시스템을 점검 할 것인가를 알지 못했던 여러 곳의 테스트가 나왔을 때 나는 막혔다.VB : 목록이
목록을 확인하는 위치는 어떻게 설정해야합니까?
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