ホームページ > バックエンド開発 > C++ > .NET 辞書で重複キーを処理するにはどうすればよいですか?

.NET 辞書で重複キーを処理するにはどうすればよいですか?

DDD
リリース: 2025-01-01 11:15:16
オリジナル
586 人が閲覧しました

How Can I Handle Duplicate Keys in .NET Dictionaries?

.NET のマルチキー辞書

.NET 基本クラス ライブラリでは、通常、辞書は重複キーを許可しません。これにより、複数の値を同じキーに関連付ける必要がある特定のシナリオでは制限が生じる可能性があります。

特殊クラスによる重複の処理

重複キーを処理する 1 つのアプローチは、次のとおりです。カスタム ラッパー クラスを作成します。たとえば、文字列キーとオブジェクトのリストを値として持つ辞書は次のように定義できます。

Dictionary<string, List<object>>
ログイン後にコピー

このメソッドは 1 つのキーの下に複数の値を格納する方法を提供しますが、操作が面倒になる可能性があります。特に複数のキーが関係する場合に使用します。

Lookup クラスの使用

.NET 3.5 では、Lookup クラスが辞書内の重複キーの必要性に対処します。このクラスは、従来の辞書のような単一のキーではなく、複数のキーを単一の値に関連付けることができる辞書を表します。

Lookup オブジェクトを作成するには、Enumerable.ToLookup 拡張メソッドを使用できます。既存のシーケンスをルックアップ辞書に追加します。たとえば、次のコードについて考えてみましょう。

var dictionary = Enumerable.ToLookup(list, item => item.Key);
ログイン後にコピー

このシナリオでは、辞書には重複したキーがあり、各キーは元のリストの値のシーケンスにマップされます。

制限と代替手段

Lookup クラスは重複キーを処理する便利な方法を提供しますが、次のことに注意することが重要です。辞書は後で変更されないことを前提としています。使用例によっては、これは望ましい制限ではない場合があります。辞書の変更が必要な場合は、別の方法を検討する必要がある場合があります。

以上が.NET 辞書で重複キーを処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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