C# での双方向 1:1 辞書の作成
この記事では、C# で双方向の 1 対 1 辞書を作成するという課題について説明します。 要件は、各キーが一意の値を持つ辞書であり、その逆も同様で、キーと値の両方からの検索が可能です。
解決策: カスタム BiDictionary 実装
標準の C# 辞書に依存する代わりに、カスタム BiDictionaryOneToOne<TFirst, TSecond>
クラスを使用することが最も効果的なソリューションです。このクラスは 2 つの内部辞書を使用します。1 つは TFirst
から TSecond
にマッピングし、もう 1 つは TSecond
から TFirst
にマッピングします。この二重マッピングにより、一意性と双方向アクセスが保証されます。
BiDictionaryOneToOne
クラスには、効率的なデータ管理のためのいくつかのメソッドが含まれています。
Add
、GetByFirst
、GetBySecond
、RemoveByFirst
、および RemoveBySecond
は、指定されたキーまたは値が見つからない場合に例外をスローします。 これにより、明確なエラー処理が提供されます。TryAdd
、TryGetByFirst
、TryGetBySecond
、TryRemoveByFirst
、および TryRemoveBySecond
は、成功した場合は true
を返し、それ以外の場合は false
を返し、例外を回避します。より柔軟なエラー処理を実現します。Count
はキーと値のペアの数を返し、Clear
はすべてのエントリを削除します。このカスタム BiDictionaryOneToOne
クラスは、C# で双方向の 1:1 リレーションシップを管理するための堅牢かつ効率的なソリューションを提供します。 明確なエラー処理と包括的な機能により、どちらの側からでも効率的な検索機能を備えた一意のキーと値のペアを必要とするさまざまなデータ管理シナリオに最適です。
以上がC# で双方向 1 対 1 辞書を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。