のインデックスを返すBindingList(Of T)に対してLINQクエリを実行したい場合、リストオブジェクトのメンバが特定の値と等しい場合。 LINQを使用してList内の一致する値のインデックスを取得する
は、私はクラスのウィジェットの簡単なオブジェクトのリストを持っていると言う: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を使用する必要があります)
私はそれを使用してLINQを実現することが可能ですかVB
linqと見なされる限り、C#とvbの構文はほとんど同じです。あなたの質問について:タイトルでは、valueSと一致するかどうかを尋ねています(これは、一致するものが1つ多いことを意味します)。しかし、使用しているコードでは、最初の項目だけを選択します。 –
だから私は複数を削除するように編集しました。ありがとう – Toby