首頁 > 後端開發 > C++ > 如何有效地檢索與 .NET 字典中的單一值關聯的多個鍵?

如何有效地檢索與 .NET 字典中的單一值關聯的多個鍵?

Patricia Arquette
發布: 2025-01-21 03:31:13
原創
772 人瀏覽過

How Can I Efficiently Retrieve Multiple Keys Associated with a Single Value in a .NET Dictionary?

.NET 通用字典:處理單一值的多個鍵

標準 .NET Dictionary 物件提供簡單的鍵到值存取。 但是,當多個鍵映射到相同值時,檢索與特定值關聯的鍵會變得複雜。本文介紹了使用自訂雙向字典的解決方案。

建構雙向字典

為了克服這個限制,我們建立了一個 BiDictionary<TFirst, TSecond> 類別。 此類別使用兩個內部字典管理兩個方向的鍵值關係:firstToSecond(鍵到值)和 secondToFirst(值到鍵)。

新增項目和存取資料

Add 方法可以有效地處理新增新的鍵值對。它會檢查現有條目,並在必要時建立新列表,以便為單一值儲存多個鍵。

BiDictionary 類別提供用於鍵到值和值到鍵存取的索引器。 為了避免歧義,還包括專用方法 GetByFirstGetBySecond

說明性範例

讓我們考慮一個實際的例子:

<code class="language-C#">BiDictionary<int, string> greek = new BiDictionary<int, string>();
greek.Add(1, "Alpha");
greek.Add(2, "Beta");
greek.Add(5, "Beta");

ShowEntries(greek, "Alpha"); // Output: Alpha: [1]
ShowEntries(greek, "Beta"); // Output: Beta: [2, 5]
ShowEntries(greek, "Gamma"); // Output: Gamma: []</code>
登入後複製

ShowEntries 方法示範檢索給定值的鍵。 請注意“Beta”如何正確傳回兩個關聯的鍵(2 和 5)。 這展示了雙向字典處理每個值多個鍵的能力。

以上是如何有效地檢索與 .NET 字典中的單一值關聯的多個鍵?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板