VB:NET使用LINQ如何在某些Datatable列中找到指定字符串的行索引

时间:2012-11-19 21:24:12

标签: vb.net linq datatable

检查某些列中是否存在字符串,我使用的是

mydatatable.AsEnumerable().Any(Function(r) r.Field(Of String)("somecolumn") = "somestring")

但我怎样才能找到"somestring"的行索引?考虑到它只允许在mydatatable中存在一次,如果它不止一次存在怎么办?

1 个答案:

答案 0 :(得分:1)

您可以使用传递索引的重载:

Dim rows = myDataTable.AsEnumerable().
    Select(Function(r, i) New With {.Row = r, .Index = i}).
    Where(Function(x) x.Row.Field(Of String)("somecolumn") = "somestring")
If rows.Any() Then
    Dim firstIndex As Int32 = rows.First.Index
End If