Sort
Sort Dictionary by Key or Value, Ascending/descending
Source
public static void Sort<TKey, TValue>(this Dictionary<TKey, TValue> dict, bool byValue = false, bool descending = false)
{
Dictionary<TKey,TValue> temp;
if (descending)
{
temp = byValue ? dict.OrderByDescending(x => x.Value).ToDictionary(x => x.Key, x => x.Value) : dict.OrderByDescending(x => x.Key).ToDictionary(x => x.Key, x => x.Value);
}
else
{
temp = byValue ? dict.OrderBy(x => x.Value).ToDictionary(x => x.Key, x => x.Value) : dict.OrderBy(x => x.Key).ToDictionary(x => x.Key, x => x.Value);
}
dict.Clear();
foreach (var pair in temp)
{
dict.Add(pair.Key, pair.Value);
}
}
Example
dict.Sort(); // By Key ascending
dict.Sort(true,true); // By Value descending