Dictionary<string,float> dic=Dictionary<string,float>(); List<KeyValuePair<string, float>> list = new List<KeyValuePair<string, float>>(dic); list.Sort(delegate(KeyValuePair<string, float> firstPair, KeyValuePair<string, float> nextPair) { return nextPair.Value.CompareTo(firstPair.Value); }