본문 바로가기
Function/C#

C# Dictionary문 사용법 정리

by wawManager 2024. 8. 24.
728x90

안녕하세요.

C#에서 Dictionary<TKey, TValue> 클래스는 키와 값의 쌍을 저장하는 제네릭 컬렉션입니다. Dictionary는 키를 사용하여 값을 빠르게 검색할 수 있도록 해줍니다. 키는 고유해야 하며, 각 키는 하나의 값에 매핑됩니다. 이 컬렉션은 해시 테이블(Hash Table)을 기반으로 하여, 데이터를 효율적으로 검색, 추가 및 삭제할 수 있습니다.

# Dictionary 기본 사용법

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        // Dictionary 생성
        Dictionary<int, string> dictionary = new Dictionary<int, string>();

        // 요소 추가
        dictionary.Add(1, "Apple");
        dictionary.Add(2, "Banana");
        dictionary.Add(3, "Cherry");

        // 값 가져오기
        string value = dictionary[1];
        Console.WriteLine("Key 1의 값: " + value);  // 출력: Key 1의 값: Apple

        // 요소 삭제
        dictionary.Remove(2);

        // 키가 존재하는지 확인
        if (dictionary.ContainsKey(2))
        {
            Console.WriteLine("Key 2가 존재합니다.");
        }
        else
        {
            Console.WriteLine("Key 2가 존재하지 않습니다.");  // 출력: Key 2가 존재하지 않습니다.
        }

        // 모든 요소 순회
        foreach (KeyValuePair<int, string> kvp in dictionary)
        {
            Console.WriteLine("Key: " + kvp.Key + ", Value: " + kvp.Value);
        }
        // 출력:
        // Key: 1, Value: Apple
        // Key: 3, Value: Cherry
    }
}

# 주요 기능

1. 요소 추가  
   Add 메서드를 사용해 키와 값을 추가합니다.
   
   dictionary.Add(1, "Apple");
   

2. 값 가져오기  
   키를 사용해 해당 키의 값을 가져옵니다.
   
   string value = dictionary[1];
   

3. 요소 삭제  
   특정 키를 가진 요소를 삭제합니다.
   
   dictionary.Remove(2);
   

4. 키 존재 여부 확인  
   ContainsKey 메서드를 사용해 특정 키가 존재하는지 확인합니다.
   
   bool exists = dictionary.ContainsKey(2);
   

5. 모든 요소 순회  
   foreach 루프를 사용해 모든 키-값 쌍을 순회할 수 있습니다.
   
   foreach (KeyValuePair<int, string> kvp in dictionary)
   {
       Console.WriteLine("Key: " + kvp.Key + ", Value: " + kvp.Value);
   }
   

# 주의사항
- 키는 고유해야 합니다. 중복된 키를 추가하려고 하면 예외가 발생합니다.
- 값은 중복이 가능하며, 여러 키가 동일한 값을 가질 수 있습니다.

# 결론

C#의 Dictionary는 키-값 쌍으로 데이터를 저장하고 관리할 때 매우 유용한 자료구조입니다. 

이를 통해 효율적으로 데이터를 검색, 추가, 삭제할 수 있으며, 키를 통해 고유하게 데이터를 식별할 수 있습니다. 다양한 메서드를 활용해 Dictionary를 효과적으로 사용할 수 있습니다.

 

 

감사합니다.

 

 

(chat gpt 참고)

728x90

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

C# ASCII 코드 사용법  (0) 2024.08.26
C# List vs Dictionary 비교  (0) 2024.08.25
C# List 사용법 정리  (0) 2024.08.23
C# 다양한 Remove 문 사용법 정리  (0) 2024.08.22
C# 다양한 indexOf 문 사용법 정리  (0) 2024.08.21