Dictionary
C# 에는 Dictionary 라는 것이 있다. 이것은 List와 비슷한 형태이나 Dictionary 에는 값을 짝이 지어 저장할 수 있는 장점이 있다.
예를 들어 “김철수”와 “34세, 전화번호, 주소” 등으로 묶어서 저장할 수 있어 사전처럼 이용할 수 있습니다.
그래서 Dictionary 로 명명한 듯 합니다.
Dictionary 기본기능
간단하게 이름과 나이를 Dictionary 로 관리해 보겠습니다.
namespace WATDictionaryExample
{
class Program
{
static void Main(string[] args)
{
// 5명 추가
Dictionary<string,int> dictionary = new Dictionary<string, int>();
dictionary.Add(“일번사람”, 11);
dictionary.Add(“이번사람”, 67);
dictionary.Add(“삼번사람”, 33);
dictionary.Add(“오번”, 55);
dictionary.Add(“꼴지”, 99);
foreach (KeyValuePair<string, int> d in dictionary)
{
Console.WriteLine(“{0}: {1}”, d.Key, d.Value);
}
string strName = “삼번사람”;
Console.WriteLine(“{0}님의 나이는 {1}세.”, strName, dictionary[strName]);
strName = “일번사람”;
Console.WriteLine(“{0}님의 나이는 {1}세.”, strName, dictionary[strName]);
}
}
}
Dictionary 정렬
Key로 정렬해보겠습니다. (사람 이름으로 정렬합니다.)
// 이름 순으로 정렬
var varList = dictionary.Keys.ToList();
varList.Sort();
Console.WriteLine(“”);
Console.WriteLine(“이름 순으로 정렬합니다.”);
foreach (var d in varList)
{
Console.WriteLine(“{0}: {1}”, d, dictionary[d]);
}
Value로 정렬해보겠습니다. (나이로 정렬합니다)
// 나이순으로 정렬
var items = from pair in dictionary
orderby pair.Value ascending
select pair;
Console.WriteLine(“”);
Console.WriteLine(“나이 순으로 정렬합니다.”);
foreach (var d in items)
{
Console.WriteLine(“{0}: {1}”, d.Key, d.Value);
}