Obtenha a chave do dicionário por valor em C#

Muhammad Maisam Abbas 16 fevereiro 2024
  1. Obtenha a chave do dicionário por valor com o loop foreach em C#
  2. Obtenha a chave do dicionário por valor com o método Linq em C#
Obtenha a chave do dicionário por valor em C#

Este tutorial apresentará métodos para obter uma chave de dicionário com valor em C#.

Obtenha a chave do dicionário por valor com o loop foreach em C#

Infelizmente, não existe um método interno para obter a chave por valor de um dicionário em C#. Temos que confiar em algumas abordagens definidas pelo usuário para atingir esse objetivo. O foreach loop é usado para iterar por meio de uma estrutura de dados. Podemos usar o loop foreach com uma instrução if para obter a chave por valor de um dicionário em C#. O exemplo de código a seguir nos mostra como obter uma chave de dicionário por valor com o loop foreach em C#.

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);
    }
  }
}

Resultado:

1

Criamos o dicionário types e iteramos por types com um loop foreach para encontrar a chave associada ao valor one. Usamos o loop foreach para iterar por cada par no dicionário types e verificamos se o valor de cada par corresponde a one. Se um valor de par pair.value corresponder a one, armazenamos a chave do par dentro da string key usando key = pair.key.

Obtenha a chave do dicionário por valor com o método Linq em C#

O Linq ou consulta integrada de linguagem é usado para integrar a funcionalidade de consultas SQL em C#. Podemos usar o Linq para obter a chave do dicionário pelo valor do dicionário. Veja o seguinte exemplo de código.

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);
    }
  }
}

Resultado:

1

Criamos o dicionário types e salvamos a chave associada ao valor one dentro da string myKey usando Linq em C#.

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

Artigo relacionado - Csharp Dictionary