ホームページ > バックエンド開発 > C++ > C# で双方向 1 対 1 辞書を実装するにはどうすればよいですか?

C# で双方向 1 対 1 辞書を実装するにはどうすればよいですか?

DDD
リリース: 2025-01-08 11:07:40
オリジナル
775 人が閲覧しました

How to Implement a Bidirectional 1-to-1 Dictionary in C#?

C# での双方向 1:1 辞書の作成

この記事では、C# で双方向の 1 対 1 辞書を作成するという課題について説明します。 要件は、各キーが一意の値を持つ辞書であり、その逆も同様で、キーと値の両方からの検索が可能です。

解決策: カスタム BiDictionary 実装

標準の C# 辞書に依存する代わりに、カスタム BiDictionaryOneToOne<TFirst, TSecond> クラスを使用することが最も効果的なソリューションです。このクラスは 2 つの内部辞書を使用します。1 つは TFirst から TSecond にマッピングし、もう 1 つは TSecond から TFirst にマッピングします。この二重マッピングにより、一意性と双方向アクセスが保証されます。

BiDictionaryOneToOne クラスには、効率的なデータ管理のためのいくつかのメソッドが含まれています。

  • 安全なメソッド (例外あり): AddGetByFirstGetBySecondRemoveByFirst、および RemoveBySecond は、指定されたキーまたは値が見つからない場合に例外をスローします。 これにより、明確なエラー処理が提供されます。
  • メソッドの試行 (例外なし): TryAddTryGetByFirstTryGetBySecondTryRemoveByFirst、および TryRemoveBySecond は、成功した場合は true を返し、それ以外の場合は false を返し、例外を回避します。より柔軟なエラー処理を実現します。
  • ユーティリティ メソッド: Count はキーと値のペアの数を返し、Clear はすべてのエントリを削除します。

このカスタム BiDictionaryOneToOne クラスは、C# で双方向の 1:1 リレーションシップを管理するための堅牢かつ効率的なソリューションを提供します。 明確なエラー処理と包括的な機能により、どちらの側からでも効率的な検索機能を備えた一意のキーと値のペアを必要とするさまざまなデータ管理シナリオに最適です。

以上がC# で双方向 1 対 1 辞書を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート