C#에서 Queue(대기열)에 저장된 모든 개체를 한 번에 제거하려면 Clear() 메서드를 사용하면 됩니다. 이 메서드는 대기열 내부의 모든 요소를 삭제하고, 그 결과로 Count 속성이 0으로 변경됩니다.
Queue.Clear() 메서드란?
Queue<T> 클래스의 Clear() 메서드는 대기열에 포함된 모든 개체를 제거하는 역할을 합니다. 별도의 반복문 없이 단 한 번의 호출로 대기열 전체를 비울 수 있어 매우 간편합니다.
예제 1
다음은 Queue에서 모든 개체를 제거하는 코드입니다.
using System;
using System.Collections.Generic;
public class Demo {
public static void Main(){
Queue<string> queue = new Queue<string>();
queue.Enqueue("Gary");
queue.Enqueue("Jack");
queue.Enqueue("Ryan");
queue.Enqueue("Kevin");
queue.Enqueue("Mark");
queue.Enqueue("Jack");
queue.Enqueue("Ryan");
queue.Enqueue("Kevin");
Console.Write("Count of elements = ");
Console.WriteLine(queue.Count);
queue.Clear();
Console.Write("Count of elements (updated) = ");
Console.WriteLine(queue.Count);
}
}
출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Count of elements = 8 Count of elements (updated) = 0
처음에는 8개의 요소가 담겨 있었지만, Clear() 메서드 호출 이후 요소 개수가 0으로 바뀐 것을 확인할 수 있습니다.
예제 2
이번에는 또 다른 예제를 살펴보겠습니다.
using System;
using System.Collections.Generic;
public class Demo {
public static void Main(){
Queue<string> queue = new Queue<string>();
queue.Enqueue("A");
queue.Enqueue("B");
queue.Enqueue("C");
queue.Enqueue("D");
queue.Enqueue("E");
Console.WriteLine("Count of elements = " + queue.Count);
queue.Clear();
Console.Write("Count of elements (updated) = " + queue.Count);
}
}
출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Count of elements = 5 Count of elements (updated) = 0
정리
C#의 Queue<T>에서 모든 요소를 제거하는 방법은 매우 간단합니다. Clear() 메서드를 호출하기만 하면 되며, 이 메서드는 다음과 같은 특징을 가지고 있습니다.
- 대기열의 모든 요소를 즉시 제거합니다.
- 호출 후
Count값이 0으로 설정됩니다. - 반환값이 없습니다(void 타입).
- 대기열이 이미 비어 있는 상태에서 호출해도 오류 없이 안전하게 동작합니다.