c# iterate sortedDictionary
using System; using System.Collections.Generic; class SortedDictionaryEnumerationDemo { static void Main() { //Creates new SortedDictionary var dict = new SortedDictionary<int, string>(); dict.Add(4, "Four"); dict.Add(5, "Five"); dict.Add(1, "One"); dict.Add(3, "Three"); dict.Add(2, "Two"); //Enumerating Items Console.WriteLine("== Enumerating Items =="); foreach (var item in dict) { Console.WriteLine("{0} => {1}", item.Key, item.Value); } //Enumerating Keys Console.WriteLine("\n== Enumerating Keys =="); foreach (int key in dict.Keys) { Console.WriteLine("{0} => {1}", key, dict[key]); } //Enumerating Values Console.WriteLine("\n== Enumerating Values =="); foreach (string value in dict.Values) { Console.WriteLine("{0} => {1}", value, GetKeyFromValue(dict, value)); } } //Help method for Enumerating Values static int GetKeyFromValue(SortedDictionary<int, string> dict, string value) { // Use LINQ to do a reverse dictionary lookup. try { return (from item in dict where item.Value.Equals(value) select item.Key).First(); } catch (InvalidOperationException e) { return -1; } } } //Console: /* == Enumerating Items == 1 => One 2 => Two 3 => Three 4 => Four 5 => Five == Enumerating Keys == 1 => One 2 => Two 3 => Three 4 => Four 5 => Five == Enumerating Values == One => 1 Two => 2 Three => 3 Four => 4 Five => 5 */