Heim > Backend-Entwicklung > C++ > Wie kann ich effizient mehrere Schlüssel abrufen, die einem einzelnen Wert in einem .NET-Wörterbuch zugeordnet sind?

Wie kann ich effizient mehrere Schlüssel abrufen, die einem einzelnen Wert in einem .NET-Wörterbuch zugeordnet sind?

Patricia Arquette
Freigeben: 2025-01-21 03:31:13
Original
772 Leute haben es durchsucht

How Can I Efficiently Retrieve Multiple Keys Associated with a Single Value in a .NET Dictionary?

.NET Generic Dictionary: Umgang mit mehreren Schlüsseln für einen einzelnen Wert

Standard .NET Dictionary-Objekte bieten einen einfachen Schlüssel-zu-Wert-Zugriff. Allerdings wird das Abrufen von Schlüsseln, die einem bestimmten Wert zugeordnet sind, komplex, wenn mehrere Schlüssel demselben Wert zugeordnet sind. In diesem Artikel wird eine Lösung mit einem benutzerdefinierten bidirektionalen Wörterbuch vorgestellt.

Erstellen eines bidirektionalen Wörterbuchs

Um diese Einschränkung zu überwinden, erstellen wir eine BiDictionary<TFirst, TSecond>-Klasse. Diese Klasse verwaltet Schlüssel-Wert-Beziehungen in beide Richtungen und verwendet dazu zwei interne Wörterbücher: firstToSecond (Schlüssel zu Wert) und secondToFirst (Wert zu Schlüssel).

Einträge hinzufügen und auf Daten zugreifen

Die Add-Methode verwaltet das Hinzufügen neuer Schlüssel-Wert-Paare effizient. Es sucht nach vorhandenen Einträgen und erstellt bei Bedarf neue Listen, um mehrere Schlüssel für einen einzelnen Wert zu speichern.

Die BiDictionary-Klasse stellt Indexer sowohl für den Schlüssel-zu-Wert- als auch für den Wert-zu-Schlüssel-Zugriff bereit. Um Mehrdeutigkeiten zu vermeiden, sind auch spezielle Methoden GetByFirst und GetBySecond enthalten.

Anschauliches Beispiel

Betrachten wir ein praktisches Beispiel:

<code class="language-C#">BiDictionary<int, string> greek = new BiDictionary<int, string>();
greek.Add(1, "Alpha");
greek.Add(2, "Beta");
greek.Add(5, "Beta");

ShowEntries(greek, "Alpha"); // Output: Alpha: [1]
ShowEntries(greek, "Beta"); // Output: Beta: [2, 5]
ShowEntries(greek, "Gamma"); // Output: Gamma: []</code>
Nach dem Login kopieren

Die ShowEntries-Methode demonstriert das Abrufen von Schlüsseln für einen bestimmten Wert. Beachten Sie, dass „Beta“ beide zugehörigen Schlüssel (2 und 5) korrekt zurückgibt. Dies zeigt die Fähigkeit des bidirektionalen Wörterbuchs, mehrere Schlüssel pro Wert zu verarbeiten.

Das obige ist der detaillierte Inhalt vonWie kann ich effizient mehrere Schlüssel abrufen, die einem einzelnen Wert in einem .NET-Wörterbuch zugeordnet sind?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage