c# - Comment itérer sur un dictionnaire

Mots clés : c#dictionaryloopsc#

meilleur 5 Réponses c# - Comment itérer sur un dictionnaire

vote vote

95

foreach(KeyValuePair<string, string> entry in myDictionary) {     // do something with entry.Value or entry.Key } 
vote vote

81

foreach(var item in myDictionary) {   foo(item.Key);   bar(item.Value); } 
foreach(var item in myDictionary.Keys) {   foo(item); } 
foreach(var item in myDictionary.Values) {   foo(item); } 
vote vote

73

for (int index = 0; index < dictionary.Count; index++) {   var item = dictionary.ElementAt(index);   var itemKey = item.Key;   var itemValue = item.Value; } 
vote vote

62

// When you use foreach to enumerate dictionary elements, // the elements are retrieved as KeyValuePair objects. Console.WriteLine(); foreach( KeyValuePair<string, string> kvp in openWith ) {     Console.WriteLine("Key = {0}, Value = {1}",          kvp.Key, kvp.Value); }  // To get the values alone, use the Values property. Dictionary<string, string>.ValueCollection valueColl =     openWith.Values;  // The elements of the ValueCollection are strongly typed // with the type that was specified for dictionary values. Console.WriteLine(); foreach( string s in valueColl ) {     Console.WriteLine("Value = {0}", s); }  // To get the keys alone, use the Keys property. Dictionary<string, string>.KeyCollection keyColl =     openWith.Keys;  // The elements of the KeyCollection are strongly typed // with the type that was specified for dictionary keys. Console.WriteLine(); foreach( string s in keyColl ) {     Console.WriteLine("Key = {0}", s); } 
vote vote

55

foreach (var kvp in items) {     // key is kvp.Key     doStuff(kvp.Value) } 
foreach (var item in items.Values) {     doStuff(item) } 
foreach (var kvp in items.OrderBy(kvp => kvp.Key)) {     // key is kvp.Key     doStuff(kvp.Value) } 
foreach (var item in items.OrderBy(kvp => kvp.Key).Select(kvp => kvp.Value)) {     doStuff(item) } 

Questions similaires