Dictionary auslesen

23/01/2008 - 13:43 von Hartmut Callies | Report spam
Hallo,
ich verwende ein Dictionary, um darin eine nicht
fortlaufende Nummer und Material zu speichern:

Dim dicMaterial As New Scripting.Dictionary
Dim vntDicKey As Variant

dicMaterial.Add "1", "Holz"
dicMaterial.Add "8", "Aluminium"
dicMaterial.Add "3", "Gummi"

For Each vntDicKey In dicMaterial
Debug.Print vntDicKey 'zB. 8
Debug.Print dicMaterial(vntDicKey) 'z.B. Aluminium
Next vntDicKey

Mit dicMaterial(vntDicKey) erhalte ich durch Angabe
der Zahl 8 als Ergebnis Aluminium.
Ich will aber _auch_ durch Angabe von Aluminium die
Zahl 8 erhalten.
Geht dies auch mit einer Befehlszeile?

Hartmut Callies
 

Lesen sie die antworten

#1 Stefan Simon
23/01/2008 - 14:12 | Warnen spam
"Hartmut Callies" schrieb im Newsbeitrag
news:

Dim dicMaterial As New Scripting.Dictionary
Dim vntDicKey As Variant



Oje, wenn die Entscheidung deiner Wahl für Scripting.Dictionary und Variant
nicht aus Notwendigkeit sondern aus Unwissenheit erfolgte, nimm lieber eine
SortedList(of Int32, String) und dementsprechend für vntDicKey Int32.

\\\
Public Class Form1
Private dict As New SortedList(Of Int32, String)
Private Sub Form1_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
dict.Add(1, "Holz")
dict.Add(8, "Aluminium")
dict.Add(3, "Gummi")
Me.Text = dict.Keys(dict.IndexOfValue("Aluminium")).ToString
End Sub
End Class
///

oder so àhnlich...

Stefan

Ähnliche fragen