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

C# で双方向 1 対 1 辞書を作成して使用するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2025-01-08 10:56:40
オリジナル
150 人が閲覧しました

How Can I Create and Use a Bidirectional 1-to-1 Dictionary in C#?

C# の双方向 1 対 1 辞書

ジェネリック クラス BiDictionaryOneToOne<TFirst, TSecond> は、一意かつ相互的な方法でキーと値の間のシームレスなマッピングを可能にする双方向の 1 対 1 辞書を表します。標準の辞書とは異なり、BiDictionaryOneToOne は各キーが 1 つの値のみに対応することを保証し、その逆も同様です。この機能は、2 つの異なるデータ セット間の全単射関係を確立する必要がある場合に非常に役立ちます。

BiDictionaryOneToOne を作成するには、目的のキーと値のタイプを使用してそれをインスタンス化するだけです:

<code class="language-csharp">var bidirectionalDictionary = new BiDictionaryOneToOne<string, int>();</code>
ログイン後にコピー

この辞書の双方向性により、キーまたは値を柔軟に検索できます。次のメソッドはこれらの操作をサポートしています:

  • GetByFirst(TFirst first): 指定されたキーに関連付けられた値を取得します。
  • GetBySecond(TSecond Second): 指定された値に関連付けられたキーを取得します。

ここでも、一意性を確保するために、Add メソッドはキーと値がディクショナリ内にすでに存在することを検証します。重複が検出された場合は、ArgumentException 例外がスローされます。

柔軟性を高めるために、辞書には次の「Try」メソッドも用意されています。

  • TryAdd(TFirst first, TSecond Second): ペアの追加を試行し、成功した場合は true を返し、重複が見つかった場合は false を返します。
  • TryGetByFirst(TFirst first, out TSecond Second): キーの値の取得を試み、成功した場合は true を返し、キーが見つからなかった場合は false を返します。
  • TryGetBySecond(TSecond Second, out TFirst first): 値に対応するキーの取得を試み、成功した場合は true を返し、値が見つからない場合は false を返します。
  • TryRemoveByFirst(TFirst first): キーに基づいてペアの削除を試行し、成功した場合は true を返し、キーが見つからない場合は false を返します。
  • TryRemoveBySecond(TSecond Second): 値に基づいてペアの削除を試行し、成功した場合は true を返し、値が見つからない場合は false を返します。

追加機能として、BiDictionaryOneToOne を使用すると、Clear メソッドを使用してすべてのエントリをクリアしたり、Count 属性を使用して辞書内のペアの数を決定したりできます。

BiDictionaryOneToOne を使用すると、データ間に双方向の関係を簡単に作成でき、一意性を確保しながらペアの検索、追加、削除を柔軟に行うことができます。

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

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