C#의 Stack 클래스는 LIFO(후입 선출)가 아닌 일반 개체 컬렉션을 나타냅니다.
다음은 Stack 클래스의 속성입니다 -
Sr.No | 속성 및 설명 |
---|---|
1 | 카운트 스택에 포함된 요소의 수를 가져옵니다. |
2 | 동기화됨 스택에 대한 액세스가 동기화되었는지(스레드 안전) 여부를 나타내는 값을 가져옵니다. |
3 | SyncRoot 스택에 대한 액세스를 동기화하는 데 사용할 수 있는 개체를 가져옵니다. |
다음은 Stack 클래스의 메소드 중 일부입니다 -
Sr.No | 속성 및 설명 |
---|---|
1 | 지우기() 스택에서 모든 개체를 제거합니다. |
2 | 복제() 스택의 얕은 복사본을 만듭니다. |
3 | 포함(객체) 요소가 스택에 있는지 여부. |
4 | CopyTo(배열, Int32) 지정된 배열 인덱스에서 시작하여 스택을 기존 1차원 배열에 복사합니다. |
5 | 같음(객체) 지정된 개체가 현재 개체와 같은지 여부를 확인합니다. |
6 | GetEnumerator() 스택에 대한 IEnumerator를 반환합니다. |
7 | GetHashCode() 기본 해시 함수 역할을 합니다.(Object에서 상속됨) |
8 | GetType() 현재 인스턴스의 유형을 가져옵니다. |
9 | 피킹() 스택의 맨 위에 있는 개체를 제거하지 않고 반환합니다. |
10 | 팝() 스택의 맨 위에 있는 객체를 제거하고 반환합니다. |
11 | 푸시(객체) 스택의 맨 위에 개체를 삽입합니다. |
예시
이제 몇 가지 예를 살펴보겠습니다 -
스택의 맨 위에 있는 개체를 가져오려면 코드는 다음과 같습니다. -
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"); stack.Push("I"); stack.Push("J"); Console.WriteLine("Count of elements = "+stack.Count); Console.WriteLine("Element at the top of stack = " + stack.Peek()); } }
출력
이것은 다음과 같은 출력을 생성합니다 -
Count of elements = 10 Element at the top of stack = J Count of elements = 10
스택에 요소가 있는지 확인하려면 C# Contains() 메서드를 사용합니다. 다음은 코드입니다 -
예시
using System; using System.Collections.Generic; public class Demo { public static void Main() { Stack<int> stack = new Stack<int>(); stack.Push(100); stack.Push(150); stack.Push(175); stack.Push(200); stack.Push(225); stack.Push(250); stack.Push(300); stack.Push(400); stack.Push(450); stack.Push(500); Console.WriteLine("Elements in the Stack:"); foreach(var val in stack) { Console.WriteLine(val); } Console.WriteLine("Count of elements in the Stack = "+stack.Count); Console.WriteLine("Does Stack has the element 400?= "+stack.Contains(400)); } }
출력
이것은 다음과 같은 출력을 생성합니다 -
Elements in the Stack: 500 450 400 300 250 225 200 175 150 100 Count of elements in the Stack = 10 Does Stack has the element40400?= False