2009-05-13 2 views

Répondre

5
Dictionary<KeyType, ValueType> myDictionary = . . . 


foreach(KeyValuePair<KeyType, ValueType> item in myDictionary) 
{ 
    Console.WriteLine("Key={0}: Value={1}", item.Key, item.Value); 
} 
+0

. . . en supposant que c'est un dictionnaire générique, désolé –

+0

+1 Simple et clair! –

1

Vous pouvez utiliser une boucle foreach comme indiqué ci-dessous:

Dictionary<string, string> dict = new Dictionary<string, string>(); 
dict.Add("key1", "value2"); 
dict.Add("key2", "value"); 
foreach (KeyValuePair<string, string> item in dict) 
    Console.WriteLine(item.Key + "=" + item.Value); 
+1

Oups, un peu en retard ... –

1

Ou si vous travaillez à partir de Visual Studio 2008 vous pourriez:

foreach(var item in myDictionary) 
{ 
    . . . 
} 
+0

Noter le type d'élément avec être KeyValuePair (où myDictionary est IDictionary ). – Richard

1

Mon approche préférée est celle-ci (même bien que je suppose que toute solution donnée jusqu'à présent fera l'affaire pour vous):

// set up the dictionary 
Dictionary<string, string> dictionary = new Dictionary<string, string>(); 
dictionary.Add("A key", "Some value"); 
dictionary.Add("Another key", "Some other value"); 

// loop over it 
Dictionary<string, string>.Enumerator enumerator = dictionary.GetEnumerator(); 
while (enumerator.MoveNext()) 
{ 
    Console.WriteLine(enumerator.Current.Key + "=" + enumerator.Current.Value); 
} 
+0

L'approche "Foreach" est simple et peut-être accélérée par les optimisations du compilateur, mais la solution "While" est agréable si vous voulez une sortie lisible à travers une condition, au lieu de l'horrible "exit". pour "cela peut être un problème avec imbriqué" foreach ". Alors "Alors" réponse a mon vote jusqu'à aujourd'hui :) – tomasofen

Questions connexes