Erstellen eines bidirektionalen 1:1-Wörterbuchs in C#
Dieser Artikel befasst sich mit der Herausforderung, ein bidirektionales Eins-zu-eins-Wörterbuch in C# zu erstellen. Voraussetzung ist ein Wörterbuch, in dem jeder Schlüssel einen eindeutigen Wert hat und umgekehrt, sodass sowohl nach Schlüssel als auch nach Wert gesucht werden kann.
Lösung: Eine benutzerdefinierte BiDictionary-Implementierung
Anstatt sich auf Standard-C#-Wörterbücher zu verlassen, ist eine benutzerdefinierte BiDictionaryOneToOne<TFirst, TSecond>
-Klasse die effektivste Lösung. Diese Klasse verwendet zwei interne Wörterbücher: eines ordnet TFirst
TSecond
zu und das andere ordnet TSecond
TFirst
zu. Diese duale Zuordnung gewährleistet Einzigartigkeit und bidirektionalen Zugriff.
Die Klasse BiDictionaryOneToOne
umfasst mehrere Methoden für eine effiziente Datenverwaltung:
Add
, GetByFirst
, GetBySecond
, RemoveByFirst
und RemoveBySecond
lösen Ausnahmen aus, wenn der angegebene Schlüssel oder Wert nicht gefunden wird. Dies sorgt für eine klare Fehlerbehandlung.TryAdd
, TryGetByFirst
, TryGetBySecond
, TryRemoveByFirst
und TryRemoveBySecond
true
bei Erfolg zurückgeben und false
andernfalls Ausnahmen vermeiden für eine flexiblere Fehlerbehandlung.Count
gibt die Anzahl der Schlüssel-Wert-Paare zurück und Clear
entfernt alle Einträge.Diese benutzerdefinierte BiDictionaryOneToOne
-Klasse bietet eine robuste und effiziente Lösung für die Verwaltung bidirektionaler 1:1-Beziehungen in C#. Seine klare Fehlerbehandlung und umfassende Funktionalität machen es ideal für verschiedene Datenverwaltungsszenarien, die einzigartige Schlüssel-Wert-Paare mit effizienten Suchfunktionen von beiden Seiten erfordern.
Das obige ist der detaillierte Inhalt vonWie implementiert man ein bidirektionales 1-zu-1-Wörterbuch in C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!