在 C# 中按值獲取字典鍵

Muhammad Maisam Abbas 2023年1月30日 2021年4月29日
  1. 使用 C# 中的 foreach 迴圈按值獲取字典鍵
  2. 使用 C# 中的 Linq 方法按值獲取字典鍵
在 C# 中按值獲取字典鍵

本教程將介紹在 C# 中按值獲取字典鍵的方法。

使用 C# 中的 foreach 迴圈按值獲取字典鍵

不幸的是,沒有內建的方法可以從 C# 中的字典中按值獲取鍵。我們必須依靠一些使用者定義的方法來實現此目標。foreach 迴圈用於遍歷資料結構。我們可以將 foreach 迴圈與 if 語句一起使用,以從 C# 中的字典中按值獲取鍵。以下程式碼示例向我們展示瞭如何使用 C# 中的 foreach 迴圈按值獲取字典鍵。

using System;
using System.Collections.Generic;
using System.Linq;

namespace get_dictionary_key_by_value
{
    class Program
    {
        static void Main(string[] args)
        {
            Dictionary<string, string> types = new Dictionary<string, string>()
            {
                {"1", "one"},
                {"2", "two"},
                {"3", "three"}
            };
            string key = "";
            foreach(var pair in types)
            {
                if(pair.Value == "one")
                {
                    key = pair.Key;
                }
            }
            Console.WriteLine(key);
        }
    }
}

輸出:

1

我們建立了字典 types,並使用 foreach 迴圈遍歷 types,以查詢與值 one 相關的鍵。我們使用了 foreach 迴圈來遍歷 types 字典中的每一對,並檢查每一對的值是否與 one 匹配。如果對值 pair.valueone 相匹配,則使用 key = pair.key 將對的鍵儲存在 key 字串中。

使用 C# 中的 Linq 方法按值獲取字典鍵

Linq 或語言整合查詢用於在 C# 中整合 SQL 查詢的功能。我們可以使用 Linq 通過字典值獲取字典鍵。請參見以下程式碼示例。

using System;
using System.Collections.Generic;
using System.Linq;

namespace get_dictionary_key_by_value
{
    class Program
    {
        static void Main(string[] args)
        {
            Dictionary<string, string> types = new Dictionary<string, string>()
            {
                {"1", "one"},
                {"2", "two"},
                {"3", "three"}
            };
            var myKey = types.FirstOrDefault(x => x.Value == "one").Key;
            Console.WriteLine(myKey);
        }
    }
}

輸出:

1

我們建立了字典 types,並使用 C# 中的 Linq 將與值 one 相關的鍵儲存在 myKey 字串中。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

相關文章 - Csharp Dictionary