Eine Verwendung von Lookup
könnte sein, a umzukehren Dictionary
.
Angenommen, Sie haben ein Telefonbuch implementiert, das eine Dictionary
Reihe von (eindeutigen) Namen als Schlüssel enthält, wobei jeder Name einer Telefonnummer zugeordnet ist. Zwei Personen mit unterschiedlichen Namen haben möglicherweise dieselbe Telefonnummer. Dies ist kein Problem für a Dictionary
, das sich nicht darum kümmert, dass zwei Schlüssel demselben Wert entsprechen.
Jetzt möchten Sie nachschlagen, wem eine bestimmte Telefonnummer gehört. Sie erstellen ein Lookup
, indem Sie alles KeyValuePairs
von Ihrem Dictionary
, aber rückwärts, mit dem Wert als Schlüssel und dem Schlüssel als Wert hinzufügen . Sie können jetzt eine Telefonnummer abfragen und eine Liste mit Namen aller Personen abrufen, deren Telefonnummer dies ist. Das Erstellen eines Dictionary
mit denselben Daten würde Daten löschen (oder fehlschlagen, je nachdem, wie Sie es getan haben)
dictionary["555-6593"] = "Dr. Emmett Brown";
dictionary["555-6593"] = "Marty McFly";
bedeutet, dass der zweite Eintrag den ersten überschreibt - das Dokument wird nicht mehr aufgelistet.
Der Versuch, dieselben Daten auf etwas andere Weise zu schreiben:
dictionary.Add("555-6593", "Dr. Emmett Brown");
dictionary.Add("555-6593", "Marty McFly");
würde eine Ausnahme in die zweite Zeile werfen, da Sie keinen Add
Schlüssel finden können, der sich bereits in der befindet Dictionary
.
[Natürlich möchten Sie vielleicht eine andere einzelne Datenstruktur verwenden Lookups in beide Richtungen zu tun, usw. In diesem Beispiel bedeutet , dass Sie die regenerieren haben Lookup
aus dem Dictionary
die letzteren ändert sich jedes Mal. Aber für einige Daten könnte es die richtige Lösung sein.]