Qual è il modo migliore per iterare su un dizionario?

Ho visto alcuni modi diversi per iterare su un dizionario in C#. C'è un modo standard?

Soluzione

-- lingua: c# -->

foreach(KeyValuePair entry in myDictionary)
{
    // do something with entry.Value or entry.Key
}
Commentari (24)

Se state cercando di usare un dizionario generico in C# come usereste un array associativo in un altro linguaggio:

foreach(var item in myDictionary)
{
  foo(item.Key);
  bar(item.Value);
}

Oppure, se hai solo bisogno di iterare sulla collezione di chiavi, usa

foreach(var item in myDictionary.Keys)
{
  foo(item);
}

E infine, se siete interessati solo ai valori:

foreach(var item in myDictionary.Values)
{
  foo(item);
}

(Nota che la parola chiave var è una caratteristica opzionale di C# 3.0 e superiori, potresti anche usare il tipo esatto delle tue chiavi/valori qui)

Commentari (5)

Direi che foreach è il modo standard, anche se ovviamente dipende da quello che stai cercando

foreach(var kvp in my_dictionary) {
  ...
}

È questo che stai cercando?

Commentari (2)