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 키값은 중복될 수 없기 때문에 주의해야 합니다.
'개발언어 > C#' 카테고리의 다른 글
[C#] 폴더 내 파일 목록 가져오기(하위폴더 포함여부) (0) | 2020.12.22 |
---|---|
[C#] Dictionary 사용 예제 (0) | 2020.12.22 |
[C#] Dictionary<> foreach, for 루프 (0) | 2020.12.22 |
[C#] ListView 선택시 레코드값 받아오기 (0) | 2020.12.22 |
[C#] ESC로 창닫기 (0) | 2020.12.18 |