0

オブジェクトの配列リストがあります。特定の値を含むオブジェクトの配列リスト内のインデックスを知りたいのですが、検索を行うための組み込みの方法はありますか?

配列リストを繰り返し処理して正しい値を見つけることができることはわかっています。例:

ReportToFind="6"

For i = 0 To ReportObjList.Count - 1
    If ReportObjList.Item(i).ReportCode = ReportToFind Then
        ReportName.Text = ReportObjList.Item(i).ReportName ' found it - show name
        Exit For
    End If
Next

他の唯一の解決策は、このコードを二分探索に置き換えることですか?

.Net 1.1

4

3 に答える 3

1

リストの検索が問題になる場合は、より適切なデータ構造を使用する必要があります。リストが検索対象の値に関してソートされている場合は、配列リストのバイナリ検索を使用できます。その他の場合は、バイナリツリーやマップなどのよりスマートなデータ構造を使用する方がよいでしょう。

于 2009-07-28T16:34:05.943 に答える
0

.Net 1.1にあるかどうかはわかりませんが、配列リストで .IndexOfメソッドを試すことができます。

于 2009-07-28T22:10:28.087 に答える
0

アイテムインデックスに加えて、reportCodeでreportObjectListにインデックスを付ける必要があるようです。これは、reportCodeをインデックスとして、itemIndexを値として、2番目の並列リストで実行できます。

于 2009-07-29T17:42:57.810 に答える