C#

[C#]Dictionary 사용 방법

DevStory 2021. 12. 19.

Dictionary란?

C#에서 Dictionary 클래스는 <Key, Value> 형식의 컬렉션입니다. System.Collections에 정의되어 있으며 Key는 각 컬렉션에서 고유해야 합니다.

 

이번 포스팅에서는 Dictionary 클래스 기초적인 사용 방법을 소개합니다.

 


Dictionary 클래스 사용 및 객체 생성

Dictionary 클래스를 사용하기 전에 using 문에 System.Collections.Generic 네임스페이스를 추가합니다.

using System.Collections.Generic;

 

Dictionary 클래스는 <Key, Value> 형식이며 Key와 Value는 제네릭 유형입니다.

 

다음은 Key가 string형이며, Value가 int형인 Dictionary 객체를 생성하는 예제입니다.

Dictionary<string, int> EmployeeList = new Dictionary<string, int>();

Dictionary 객체에 item 추가, 삭제, 수정

▶ 추가

Dictionary 객체에 item을 추가하기 위해 Add() 함수를 사용합니다. 

EmployeeList.Add("홍길동", 30);
EmployeeList.Add("또치", 20);
EmployeeList.Add("희동이", 3);

Add() 함수의 첫 번째 인수는 Key이며, 두 번째 인수는 Value입니다.

 

▶ 삭제

Dictionary 객체에 item을 제거하기 위해 Remove() 함수를 사용합니다.

EmployeeList.Remove("홍길동");
EmployeeList.Remove("또치");

Remove() 함수의 첫 번째 인수는 Key입니다. 즉, 지정된 키가 존재하는 경우 해당 항목을 제거합니다.

 

Dictionary 객체의 모든 항목을 제거하는 경우 Clear() 함수를 사용합니다.

EmployeeList.Clear();

 

▶ 수정

Dictionary 객체의 Key와 매핑되는 Value의 값을 수정하고 싶은 경우 대괄호( [] )를 사용하여 Key와 매핑되는 Value를 접근하여 값을 수정합니다.

EmployeeList["희동이"] = 20;
반응형

Dictionary 클래스 프로퍼티

Dictionary 클래스에는 Count, Keys, Values 세 가지 프로퍼티가 존재합니다.

 

▶ Count 프로퍼티

Count 프로퍼티는 Dictionary 객체의 항목 수를 반환합니다.

Console.WriteLine("Count: {0}", EmployeeList.Count);

 

▶ Keys 프로퍼티

Keys 프로퍼티는 KeyCollection 유형의 객체를 반환합니다.

Dictionary<string, int>.KeyCollection keys = EmployeeList.Keys;

foreach (string key in keys)
{
    Console.WriteLine("Key: {0}", key);
}

 

▶ Values 프로퍼티

Values 프로퍼티는 ValueCollection 유형의 객체를 반환합니다.

Dictionary<string, int>.ValueCollection values = EmployeeList.Values;

foreach (int val in values)
{
    Console.WriteLine("Value: {0}", val);
}

Dictionary 객체 foreach문

Dictionary 객체는 foreach문을 사용하여 모든 항목을 순차적으로 접근할 수 있습니다.

 

다음은 Dictionary 객체인 EmployeeList를 foreach문으로 각 항목을 순차적으로 접근하여 key와 Value를 Console에 출력하는 예제입니다.

foreach (KeyValuePair<string, int> employee in EmployeeList)
{
    Console.WriteLine("Key: {0}, Value: {1}", employee.Key, employee.Value);
}
반응형

'C#' 카테고리의 다른 글

[C#]Dictionary 정렬 방법  (0) 2021.12.20
[C#]Dictionary value 값으로 key 찾기  (0) 2021.12.20
[C#]List 속성별로 정렬  (1) 2021.10.03
[C#]List 거꾸로 뒤집기(Reverse)  (0) 2021.10.03
[C#]JSON을 객체로 변환(JSON to Object)  (0) 2021.09.26

댓글