Esu matęs keletą skirtingų būdų, kaip C# kalba iteruoti žodyną. Ar yra standartinis būdas?
foreach(KeyValuePair<string, string> entry in myDictionary)
{
// do something with entry.Value or entry.Key
}
Jei bandote naudoti bendrąjį žodyną C# kalboje taip, kaip kitoje kalboje naudotumėte asociatyvųjį masyvą:
foreach(var item in myDictionary)
{
foo(item.Key);
bar(item.Value);
}
Arba, jei jums reikia tik iteruoti raktų kolekciją, naudokite
foreach(var item in myDictionary.Keys)
{
foo(item);
}
Ir galiausiai, jei jus domina tik reikšmės:
foreach(var item in myDictionary.Values)
{
foo(item);
}
(Atkreipkite dėmesį, kad raktažodis var
yra neprivaloma C# 3.0 ir naujesnių versijų funkcija, čia taip pat galite naudoti tikslų raktų ir (arba) verčių tipą)
Sakyčiau, kad foreach yra standartinis būdas, nors, žinoma, tai priklauso nuo to, ko ieškote.
foreach(var kvp in my_dictionary) {
...
}
Ar tai, ko ieškote?