首頁 > 後端開發 > C++ > 如何在 C# 中從值中檢索字典鍵?

如何在 C# 中從值中檢索字典鍵?

Mary-Kate Olsen
發布: 2024-12-27 16:20:15
原創
383 人瀏覽過

How to Retrieve Dictionary Keys from Values in C#?

在C# 中按值檢索字典鍵

在C# 中,透過關聯值取得字典鍵需要標準字典以外的額外查找操作功能。實作方法如下:

使用FirstOrDefault() 方法:

如果無法保證字典中的值是唯一的,您可以使用FirstOrDefault( ) Enumerable 類別的方法來找出第一個符合值:

// Dictionary with string keys and values
Dictionary<string, string> types = new Dictionary<string, string>()
{
    { "1", "one" },
    { "2", "two" },
    { "3", "three" }
};

// Get the key associated with the value "one"
string myKey = types.FirstOrDefault(x => x.Value == "one").Key;
登入後複製

在此在這種情況下,myKey將包含值“1”。請注意,如果字典中的多個值具有相同的值,則此方法可能不會傳回鍵。

建立逆向字典:

或者,如果值是唯一的且插入的頻率低於讀取的頻率,您可以建立一個逆字典,其中值是鍵,鍵是值:

// Create an inverse dictionary
Dictionary<string, string> inverseTypes = new Dictionary<string, string>();

// Populate the inverse dictionary
foreach (var kvp in types)
{
    inverseTypes[kvp.Value] = kvp.Key;
}

// Get the key associated with the value "one"
string myKey = inverseTypes["one"];
登入後複製

與此方法,可以直接使用逆字典來執行查找操作,而不需要單獨的查找。請記住,由於建立逆字典,此選項會涉及額外的記憶體開銷。

以上是如何在 C# 中從值中檢索字典鍵?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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