C# 키(Key)와 값(Value)을 가진 Dictionary 사용 방법 및 예제

C#에서는 키와 값을 세트로 저장할 수 있는 연상 배열로 Dictionary가 있습니다.

값을 저장할 때는 키(Key)가 중복되지 않도록 주의해야 합니다.

 

Dictionary 기본 사용 방법

Dictionary 클래스를 사용하기 위해서는 

using System.Collections.Generic

 

으로 먼저 선언을 해줘야 합니다.

 

・선언

Dictionary 선언 방법입니다.

Dictionary<Key 타입, Value 타입> 변수명 = new Dictionary<Key 타입, Value 타입>()

 

또는 아래와 같은 방법으로도 선언할 수 있습니다.

var 변수명 = new Dictionary<Key 타입, Value 타입>()

 

・선언 및 초기화

Dictionary를 선언하면서 초기화도 같이할 수 있습니다.

var 변수명 = new Dictionary<Key 타입, Value 타입>()

 

{
	{Key0, Value0},
	{Key1, Value1},
	・・・・・・
};

 

Add 요소 추가

Dictionary에 요소를 추가하기 위해서는 Add메서드를 사용합니다.

Dictionary변수.Add(Key, Value);

 

요소 추가 예제

using System;
using System.Collections.Generic;

namespace Sample
{
	class Sample
	{
		static void Main()
		{
			var myTable = new Dictionary<string, string>();
			myTable.Add("Korea", "Seoul");
			myTable.Add("Japan", "Tokyo");
			myTable.Add("America", "Washington");

			foreach(KeyValuePair<string, string> item in myTable) {
				Console.WriteLine("[{0}:{1}]", item.Key, item.Value); 
			}

			Console.ReadKey();
		}
	}
}

 

결과

[Korea:Seoul]
[Japan:Tokyo]
[America:Washington]

 

Add를 사용하여 Dictionary에 값을 추가하고 출력까지 해보았습니다.

 

 

Key 취득 방법

Dictionary에서 Keys프로퍼티를 사용하여 Key만 취득을 할 수 있습니다.

Keys프로퍼티 예제

using System;
using System.Collections.Generic;

namespace Sample
{
	class Sample
	{
		static void Main()
		{
			var myTable = new Dictionary<string, string>();
			myTable.Add("Korea", "Seoul");
			myTable.Add("Japan", "Tokyo");
			myTable.Add("America", "Washington");

			foreach(string Key in myTable.Keys) {
				Console.WriteLine(Key); 
			}

			Console.ReadKey();
		}
	}
}

 

결과

Korea
Japan
America

 

Value 취득 방법

Dictionary에서 Values프로퍼티를 사용하여 Value만 취득을 할 수 있습니다.

Values프로퍼티 예제

using System;
using System.Collections.Generic;

namespace Sample
{
	class Sample
	{
		static void Main()
		{
			var myTable = new Dictionary<string, string>();
			myTable.Add("Korea", "Seoul");
			myTable.Add("Japan", "Tokyo");
			myTable.Add("America", "Washington");

			foreach(string Value in myTable.Values) {
				Console.WriteLine(Value); 
			}

			Console.ReadKey();
		}
	}
}

 

결과

Seoul
Tokyo
Washington

 

Key로 Value 취득 방법

List에서는 인덱스 번호로 값을 취득할 수 있습니다.

Dictionary에서는 Key로 값을 취득할 수 있습니다.

Key로 Value 취득 예제

using System;
using System.Collections.Generic;

namespace Sample
{
	class Sample
	{
		static void Main()
		{
			var myTable = new Dictionary<string, string>();
			myTable.Add("Korea", "Seoul");
			myTable.Add("Japan", "Tokyo");
			myTable.Add("America", "Washington");

			string str = "America";
			Console.WriteLine("[{0}:{1}]", str, myTable[str]); 

			Console.ReadKey();
		}
	}
}

 

결과

[America:Washington]

 

Dictionary[Key]로 Value를 취득하여 값이 출력된 것을 확인했습니다.

 

정리

연상 배열인 Dictionary는 키와 값을 세트로 저장할 수 있습니다.

키로 값을 취득할 수 있습니다.

Dictionary 키값은 중복될 수 없기 때문에 주의해야 합니다.

댓글