C#, Dictionary

 

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);

}

 

 

 

 


Leave a Comment