C#에서 연상 배열인 Dictionary를 LINQ를 사용하여 정렬하는 방법을 알아보도록 하겠습니다.
LINQ 정렬
LINQ로 정렬하기 위해서는 OrderBy 메서드를 사용합니다.
람다식으로 작성하기 때문에 Dictionary를 간단하게 정렬시킬 수 있습니다.
LINQ 정렬 예제
using System;
using System.Collections.Generic;
using System.Linq;
namespace Sample
{
class Sample
{
static void Main()
{
var myTable = new Dictionary<string, string>();
myTable.Add("Korea", "Seoul");
myTable.Add("Japan", "OSAKA");
myTable.Add("America", "Washington");
var newTable = myTable.OrderBy(x => x.Value);
foreach(KeyValuePair<string, string> item in newTable) {
Console.WriteLine("[{0}:{1}]", item.Key, item.Value);
}
Console.ReadKey();
}
}
}
결과
[Japan:OSAKA]
[Korea:Seoul]
[America:Washington]
위 예제에서는 Dictionary 오브젝트 myTable의 값(Value)을 오름차순으로 정렬하였습니다.
예제에서는 값으로 정렬을 하였지만 키(Key)로 정렬하고 싶은 경우에는 x.Value 부분을 x.Key로 변경해주면 키로 정렬할 수 있습니다.
댓글