Viděl jsem několik různých způsobů iterace nad slovníkem v jazyce C#. Existuje nějaký standardní způsob?
foreach(KeyValuePair<string, string> entry in myDictionary)
{
// do something with entry.Value or entry.Key
}
Pokud se pokoušíte použít obecný slovník v jazyce C# podobně jako asociativní pole v jiném jazyce:
foreach(var item in myDictionary)
{
foo(item.Key);
bar(item.Value);
}
Nebo pokud potřebujete pouze iterovat nad kolekcí klíčů, použijte příkaz
foreach(var item in myDictionary.Keys)
{
foo(item);
}
A konečně, pokud vás zajímají pouze hodnoty:
foreach(var item in myDictionary.Values)
{
foo(item);
}
(Vezměte na vědomí, že klíčové slovo var
je volitelnou funkcí jazyka C# 3.0 a vyšší, můžete zde také použít přesný typ vašich klíčů/hodnot)
Řekl bych, že foreach je standardní způsob, i když samozřejmě záleží na tom, co hledáte.
foreach(var kvp in my_dictionary) {
...
}
Je to to, co hledáte?