C#에서 Stack에 저장된 요소의 개수를 확인하려면 Count 속성을 사용하면 됩니다. Count 속성은 스택에 현재 들어 있는 요소의 총 개수를 정수(int) 값으로 반환합니다.
Count 속성이란?
Stack<T> 클래스의 Count 속성은 읽기 전용 속성으로, 스택 내부에 실제로 저장된 요소 수를 나타냅니다. Push 메서드로 요소를 추가하면 개수가 증가하고, Pop 또는 Clear 메서드를 사용하면 감소합니다.
예제 1: 문자열 스택의 요소 개수 확인
다음 예제에서는 문자열 타입의 스택을 생성하고, 요소를 추가한 후 Count 속성으로 개수를 출력합니다. 이후 Clear() 메서드를 호출하여 모든 요소를 제거한 뒤 갱신된 개수도 함께 확인해 보겠습니다.
using System;
using System.Collections.Generic;
public class Demo {
public static void Main(){
Stack<string> stack = new Stack<string>();
stack.Push("A");
stack.Push("B");
stack.Push("C");
stack.Push("D");
stack.Push("E");
stack.Push("F");
stack.Push("G");
stack.Push("H");
Console.WriteLine("요소 개수 = " + stack.Count);
Console.WriteLine("스택에 있는 요소들...");
foreach (string res in stack){
Console.WriteLine(res);
}
stack.Clear();
Console.Write("갱신된 요소 개수 = " + stack.Count);
}
}실행 결과
요소 개수 = 8 스택에 있는 요소들... H G F E D C B A 갱신된 요소 개수 = 0
실행 결과를 보면 8개의 요소를 Push한 후 Count 값이 8로 출력되며, 스택은 LIFO(Last In First Out) 구조이므로 마지막에 추가한 H부터 역순으로 출력됩니다. Clear() 호출 후에는 모든 요소가 제거되어 Count 값이 0이 된 것을 확인할 수 있습니다.
예제 2: 정수 스택의 요소 개수 확인
이번에는 정수 타입의 스택에 10개의 숫자를 추가하고 Count 속성으로 개수를 확인하는 예제입니다.
using System;
using System.Collections.Generic;
public class Demo {
public static void Main(){
Stack<int> stack = new Stack<int>();
stack.Push(10);
stack.Push(20);
stack.Push(30);
stack.Push(40);
stack.Push(50);
stack.Push(60);
stack.Push(70);
stack.Push(80);
stack.Push(90);
stack.Push(100);
Console.WriteLine("요소 개수 = " + stack.Count);
Console.WriteLine("스택에 있는 요소들...");
foreach (int res in stack){
Console.WriteLine(res);
}
}
}실행 결과
요소 개수 = 10 스택에 있는 요소들... 100 90 80 70 60 50 40 30 20 10
정리
C#의 Stack에서 요소 개수를 얻는 방법은 매우 간단합니다. 핵심 내용을 정리하면 다음과 같습니다.
- Count 속성: 스택에 포함된 요소의 개수를 반환하는 읽기 전용 속성입니다.
- Push: 스택 맨 위에 요소를 추가하며 Count가 1 증가합니다.
- Pop: 스택 맨 위의 요소를 제거하고 반환하며 Count가 1 감소합니다.
- Clear: 스택의 모든 요소를 제거하여 Count를 0으로 만듭니다.
스택은 후입선출(LIFO) 구조이므로 foreach 문으로 순회할 때 가장 마지막에 추가된 요소부터 출력된다는 점도 함께 기억해 두면 좋습니다.