構造体のリストで、構造体の一部だけを比較してインデックス番号を取得するには?

解決


clooch  2007-11-10 17:48:49  No: 99683  IP: 192.*.*.*

WindowsXP  VB.NET 2005で開発しています。

タイトルだけではわかりにくいので・・・

Structure Struct1
  Dim id As Integer
  Dim text As String
End Structure

Dim list1 As New List(Of Struct1)

このlist1の中身のtextを比較して一致するインデックス番号を取得したいのです。
単純にループを使って比較することで実現できるのですが、もっと効率的な方法は無いものかと思案しています。

何かよい方法があればご教授ください。
よろしくお願いします。

編集 削除
魔界の仮面弁士  2007-11-10 18:27:27  No: 99684  IP: 192.*.*.*

text による一致比較なら、List(Of Struct1) ではなく、
Dictionary(Of String, Struct1) を採用すべきかと。

> 単純にループを使って比較することで実現できるのですが、
あるいは、List(Of Struct1) クラスの Find メソッドとか。

編集 削除
魔界の仮面弁士  2007-11-10 18:33:52  No: 99685  IP: 192.*.*.*

# 書き忘れ。

それと、次回からは隣の掲示板を利用してください。
(ここは VB2-VB6専用の掲示板です)

編集 削除
clooch  2007-11-10 19:37:51  No: 99686  IP: 192.*.*.*

ありがとうございます。
Dictionaryを使う事にしました。

>それと、次回からは隣の掲示板を利用してください。
これは失礼しました。
ブックマークに入れたままだったので気付きませんでした。

編集 削除