【发布时间】:2013-08-27 14:40:00
【问题描述】:
我希望能够在 BindingList(Of T) 上运行 LINQ 查询,该查询返回列表对象成员等于特定值的 索引。
假设我有一个简单的类小部件对象列表:
Public Class widget
Public Property foo As Integer
Public Property bar As String
End Class
Dim widgetList As BindingList(Of widget)
我希望能够像下面这样查询列表:
Dim test As Integer = 5
Dim index = (From i In widgetList
Where i.foo = test
Select i.index).First
这样的索引包含第一个 listItem 的索引,其中 widgetList.Item(index).foo = 5。最好的方法是什么? (或者我什至应该使用 LINQ)
我已经看到了几种 C# 方法来做到这一点,但我对 C# 不够熟悉,无法理解如何在 VB 中使用它们
【问题讨论】:
-
就 linq 的考虑而言,c# 和 vb 的语法基本相同。关于您的问题:在标题中您询问的是匹配值(意味着您期望更多的匹配项),但在您使用的代码中 .First,这意味着您只从选定的结果中获取第一项。
-
所以我做了 - 编辑删除复数。谢谢