Dictionary 정렬
Dictionary<string, int> dic = new Dictionary<string, int>();
SortedDictionary를 사용하여 정렬할 수 있다.
SortedDictionary sorted_dic = new SortedDictionary(dic);
오름차순 정렬
foreach (KeyValuePair data in sorted_dic)
{
Console.WriteLine("문자열 : " + data.Key + ", 수치 : " + data.Value);
}
using System.Linq;
내림차순 정렬
foreach (KeyValuePair data in sorted_dic.Reverse())
{
Console.WriteLine("문자열 : " + data.Key + ", 수치 : " + data.Value);
}
열심히 정렬해본 결과 Value 기준이 아닌 Key 기준으로 정렬이 된다.
이걸 원한게 아니야 !!
==============================================
그래서 더 쉬운 방법을 찾아버렸다.
Dictionary<string, int> dic = new Dictionary<string, int>();
오름차순 정렬
var value_asc_dic = rank_dic.OrderBy(num => num.Value);
foreach (var data in value_asc_dic)
{
Console.WriteLine("문자열 : " + data.Key + ", 수치 : " + data.Value);
}
내림차순 정렬
var value_descend_dic = rank_dic.OrderByDescending(num => num.Value);
foreach (var data in value_descend_dic)
{
Console.WriteLine("문자열 : " + data.Key + ", 수치 : " + data.Value);
}