Here is how one can order dictionary collection in C#.
Dictionary<int, string> dictionary = new Dictionary<int, string>();
dictionary.Add(1, "Item1");
dictionary.Add(2, "Item1");
dictionary.Add(3, "Item2");
dictionary.Add(4, "Item3");
Dictionary<int, string> sorted=dictionary.OrderBy(obj => obj.Value).ToDictionary(i=>i.Key,j=>j.Value);