私はforループでこれを行うことができることを知っています。私は仕事をより効率的に達成することを望んでいました。辞書をフィルタリングしてリストを返す
私は辞書(Of Integer、Boolean) またはOf String、Booleanを持っています。 すべての値が真である辞書(整数のリスト)またはOf String(いつでも必要なものに応じて偽)を取得したい場合
そしてそれを一般化するか「ブラックボックス」するか、それはどんな辞書でも(何のものであれ、何でも) であり、その時点で何を探していても値のリストを返すことができます。
文字列、短いの値= "クローズ"
文字列:
Public Function FindInDict(Of tx, ty)(thedict As Dictionary(Of tx, ty), criteria As ty) As List(Of tx)
Dim tmpList As New List(Of tx)
For xloop As Integer = 0 To thedict.Count - 1
If CType(thedict(thedict.Keys(xloop)), ty).Equals(criteria) Then
tmpList.Add(thedict.Keys(xloop))
End If
Next
Return tmpList
End Function
ここでは、Forループが最善の策だと思います。しかし、私は間違っている可能性があります –
また、私はmyList.Find(基準)またはmyList.FindAll(基準)のようにすることができます、辞書の同等ですか? – JeZteR