1. Dictionary와 HashSet 개념
C#의 Dictionary는 키와 값의 쌍으로 데이터를 관리하는 컬렉션입니다. 반면에 HashSet은 중복 없는 고유한 요소 모음을 제공합니다. 각각 빠른 검색과 중복 제거에 유용합니다.
2. 간단한 코드 예제
아래 예제는 Dictionary에 학생의 ID와 이름을 저장하고, HashSet으로 등록된 과목을 관리하는 방법을 보여줍니다.
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
// Dictionary 사용: 학생 ID와 이름 저장
Dictionary<int, string> students = new Dictionary<int, string>();
students.Add(101, "Alice");
students.Add(102, "Bob");
Console.WriteLine("학생 목록:");
foreach (var student in students)
{
Console.WriteLine($"ID: {student.Key}, 이름: {student.Value}");
}
// HashSet 사용: 중복 없는 과목 목록
HashSet<string> subjects = new HashSet<string>();
subjects.Add("Math");
subjects.Add("English");
subjects.Add("Math"); // 중복 추가 시도
Console.WriteLine("등록된 과목:");
foreach (var subject in subjects)
{
Console.WriteLine(subject);
}
}
}3. 활용 팁 및 주의사항
Dictionary의 키는 반드시 유일해야 하며, 동일 키에 값을 할당하려면 TryGetValue나 인덱서를 활용하는 것이 좋습니다. HashSet은 중복 요소를 자동으로 걸러주므로 별도의 중복 검사 코드가 필요 없습니다. 다만 요소가 복잡한 객체일 경우 Equals와 GetHashCode 메서드를 정확히 구현해야 합니다.
'C#' 카테고리의 다른 글
| C# 파일 읽기/쓰기 (File I/O) (0) | 2026.04.03 |
|---|---|
| C# 예외 처리 try-catch-finally (0) | 2026.04.03 |
| C# 인터페이스와 추상 클래스 비교 (0) | 2026.04.02 |
| C# 속성 (Properties)과 자동 속성 (0) | 2026.04.01 |
| C# 확장 메서드 (0) | 2026.04.01 |