Widziałem kilka różnych sposobów na iterację po słowniku w C#. Czy istnieje jakiś standardowy sposób?
foreach(KeyValuePair<string, string> entry in myDictionary)
{
// do something with entry.Value or entry.Key
}
Jeśli próbujesz użyć generycznego słownika w C#, tak jak używałbyś tablicy asocjacyjnej w innym języku:
foreach(var item in myDictionary)
{
foo(item.Key);
bar(item.Value);
}
Lub, jeśli potrzebujesz tylko iterować po kolekcji kluczy, użyj
foreach(var item in myDictionary.Keys)
{
foo(item);
}
I na koniec, jeśli'jesteś zainteresowany tylko wartościami:
foreach(var item in myDictionary.Values)
{
foo(item);
}
(Zwróć uwagę, że słowo kluczowe var
jest opcjonalną cechą C# 3.0 i wyżej, możesz również użyć dokładnego typu swoich kluczy/wartości tutaj)
Powiedziałbym, że foreach jest standardowym sposobem, choć oczywiście zależy to od tego, czego szukasz
foreach(var kvp in my_dictionary) {
...
}
Czy to jest to, czego szukasz?