Ottieni chiave dizionario per valore in C#

Muhammad Maisam Abbas 16 febbraio 2024
  1. Ottieni la chiave del dizionario per valore con il bucle foreach in C#
  2. Ottieni la chiave del dizionario per valore con il metodo Linq in C#
Ottieni chiave dizionario per valore in C#

Questo tutorial introdurrà metodi per ottenere una chiave del dizionario con valore in C#.

Ottieni la chiave del dizionario per valore con il bucle foreach in C#

Sfortunatamente, non esiste un metodo integrato per ottenere la chiave in base al valore da un dizionario in C#. Dobbiamo fare affidamento su alcuni approcci definiti dall’utente per raggiungere questo obiettivo. Il bucle foreach viene utilizzato per iterare attraverso una struttura di dati. Possiamo usare il bucle foreach con un’istruzione if per ottenere la chiave in base al valore da un dizionario in C#. Il seguente esempio di codice ci mostra come ottenere una chiave del dizionario in base al valore con il bucle foreach in 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);
    }
  }
}

Produzione:

1

Abbiamo creato il dizionario types e ripetuto types con un bucle foreach per trovare la chiave associata al valore one. Abbiamo utilizzato il bucle foreach per scorrere ogni coppia nel dizionario types e abbiamo verificato se il valore di ciascuna coppia corrisponde a one. Se il valore di una coppia pair.value corrisponde a one, memorizziamo la chiave della coppia all’interno della stringa key utilizzando key = pair.key.

Ottieni la chiave del dizionario per valore con il metodo Linq in C#

La query Linq o integrata nel linguaggio viene utilizzata per integrare la funzionalità delle query SQL in C#. Possiamo usare Linq per ottenere la chiave del dizionario in base al valore del dizionario. Vedere il seguente esempio di codice.

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

Produzione:

1

Abbiamo creato il dizionario types e salvato la chiave associata al valore one all’interno della stringa myKey utilizzando Linq in 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

Articolo correlato - Csharp Dictionary