Lieber Stefan,
ich hatte hier in der Liste einen längeren Erklärungstext zu Dictionaries eingestellt, aber der Text ist gerade über die zulässigen 20k hinaus, sodass der Text erst vom Admin freigegeben werden müsste. Der ist aber offenbar im Urlaub.
Wenn du möchtest, kann ich dir den Text aber privat zuschicken.

Für den Moment:
Beim Dictionary hast du immer das Tripel: Index -> Key -> Value
Man kann aber das Dictionary immer nur von links nach rechts abfragen.
Man kann von einem gegebenen Index auf einen Key schließen.
Man kann von einem gegebenen Key auf einen Value schließen.
Man kann fragen:
Gib mir den Value zu einem gegebenen Key! Variable = Dictionray.Value("Peter") (="gelb") Gib mir den Key zu einem gegebenen Index! Variable = Dictionray.Key(1) (="Peter")
Man kann nicht fragen:
Welcher Key gehört zu einem gegebenen Value?
Welcher Index gehört zu einem gegebenen Key?

Soweit ich sehe, ist für die umgekehrte Richtung die einzige Möglichkeit,
die Funktionen Dictionary.Values und Dictionaray.Keys zu nutzen.
Beide Funktionen geben jeweils ein Array zurück,
in Dictionary.Values stehen alle Values in ihrer Reihenfolge,
woraus man den zugehörigen Index schließen kann,
in Dictionary.Keys stehen alle Keys in ihrer Reihenfolge,
woraus man ebenso den zugehörigen Index schließen kann.
Aber dann könnte man ja gleich nur mit Arrays arbeiten
und kann die Vorteile des Dictionary nicht ausnutzen.

Da wäre dann noch die Lösung, gleich zwei oder mehr Dictionaries anzulegen,
je nach dem, welche Abfragen man braucht:
                   Index Key   Value
DictionaryA: 1        Peter gelb
DictionaryB: 1        gelb   Peter
DictionaryC: 1        Peter  1
DictionaryD: 1        gelb    1

soweit beste Grüße, Christian Hahn.








Antwort per Email an