C# Queue·Stack·Dictionary 차이와 선택 기준, 예제로 이해하기
C#에서 임시 데이터를 담는다고 모두 List<T> 를 사용할 필요는 없어요. 먼저 들어온 작업부터 처리하려면 Queue<T> , 가장 최근 작업부터 되돌리려면 Stack<T> , 고유한 키로 값을 찾으려면 Dictionary<TKey,TValue> 가 목적을 더 분명하게 드러냅니다. 한 문장 선택 기준 대기열처럼 먼저 들어온 순서가 중요하면 Queue, 실행 취소처럼 마지막 항목이 먼저 필요하면 Stack, 사용자 ID처럼 키로 값을 조회해야 하면 Dictionary를 선택하세요. Queue<T>는 먼저 들어온 항목부터 처리합니다 Queue는 FIFO, 즉 First In First Out 구조입니다. 매표소 대기 줄처럼 먼저 등록된 항목이 먼저 나와요. Enqueue 는 뒤에 추가하고, Dequeue 는 가장 앞의 항목을 꺼내면서 제거합니다. Peek 는 제거하지 않고 다음 항목만 확인합니다. Queue<string> jobs = new(); jobs.Enqueue("주문 101 처리"); jobs.Enqueue("주문 102 처리"); string next = jobs.Peek(); Console.WriteLine(next); // 주문 101 처리 string completed = jobs.Dequeue(); Console.WriteLine(jobs.Count); // 1 빈 Queue에서 Dequeue 나 Peek 를 호출하면 예외가 발생합니다. 외부 입력이나 비동기 처리로 비어 있을 가능성이 있다면 Count 를 확인하거나 TryDequeue , TryPeek 처럼 성공 여부를 반환하는 메서드를 사용하세요. 기존 글의 Queue<T> 입력·출력 예제입니다. Stack<T>은 마지막에 넣은 항목부터 꺼냅니다 Stack은 LIFO, 즉 Last In First Out 구조예요. 접시를 쌓아 두고...