V C# sem videl nekaj različnih načinov iteracije po slovarju. Ali obstaja standardni način?
foreach(KeyValuePair<string, string> entry in myDictionary)
{
// do something with entry.Value or entry.Key
}
Če poskušate uporabiti generični slovar v C#, kot bi uporabili asociativno polje v drugem jeziku:
foreach(var item in myDictionary)
{
foo(item.Key);
bar(item.Value);
}
Če pa želite le iterirati po zbirki ključev, uporabite
foreach(var item in myDictionary.Keys)
{
foo(item);
}
In nazadnje, če vas zanimajo samo vrednosti:
foreach(var item in myDictionary.Values)
{
foo(item);
}
(Upoštevajte, da je ključna beseda var
neobvezna lastnost C# 3.0 in novejših različic, tukaj lahko uporabite tudi točno določeno vrsto ključev/vrednosti)
Rekel bi, da je foreach standardni način, čeprav je seveda odvisno od tega, kaj iščete.
foreach(var kvp in my_dictionary) {
...
}
Ali je to tisto, kar iščeš?