C#でDictionaryの値によるソート

Dictionary<string, int> dic = new Dictionary<string, int>();
dic.Add("A", 2);
dic.Add("B", 1);
dic.Add("C", 3);
 
//昇順
var vs1 = dic.OrderBy((x) => x.Value);
foreach (var v in vs1)
{
    Console.WriteLine(string.Format("{0}:{1}", v.Key, v.Value));
}
 
//降順
var vs2 = dic.OrderByDescending((x) => x.Value);
foreach (var v in vs2)
{
    Console.WriteLine(string.Format("{0}:{1}", v.Key, v.Value));
}

参考Dictionaryの値によるソート - omoisanのmemo