我使用vb.net从csv中提取了数据,如下代码
Dim district As New List(Of tbDistrict)
Dim path As String = AppDomain.CurrentDomain.BaseDirectory & "tb_district.csv"
Dim results = (From line In File.ReadAllLines(path)
Let value = line.Split(";").
Select(Function(x) x)
Select New With {.district_id = value(0),
.district_code = value(1),
.amphur_id = value(2),
.district_name = value(3),
.province_id = value(4)}).ToList()
'Console.WriteLine(results.Count)
For Each item In results
district.Add(New tbDistrict With {
.district_id = item.district_id,
.district_code = item.district_code,
.district_name = item.district_name,
.amphur_id = item.amphur_id,
.province_id = item.province_id
})
Next
我有2000条记录添加到列表中。然后,我尝试使用linq通过以下代码获取一些记录
Dim provinceid As String = "1"
Dim amphurid As String = "1"
Dim mystring As String = "test"
Dim searchtabbol As List(Of tbDistrict) = district.Where(Function(x) _
(x.province_id = provinceid) AndAlso
(x.amphur_id = amphurid) AndAlso
(x.district_name.Contains(mystring.Trim()))).ToList()
Console.WriteLine(searchtabbol.Count)
但是尽管存在行,但我得到了0条记录返回。我不确定代码有什么问题吗?感谢所有建议。