Copy the Stack to an Array in C#


To copy the stack to an array, the code is as follows −

Example

 Live Demo

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("Displaying the stack...");
      foreach(int val in stack){
         Console.WriteLine(val);
      }
      int[] intArr = new int[stack.Count];
      stack.CopyTo(intArr, 0);
      Console.WriteLine("Displaying the array...");
      foreach(int val in intArr){
         Console.WriteLine(val);
      }
   }
}

Output

This will produce the following output −

Displaying the stack...
100
90
80
70
60
50
40
30
20
10
Displaying the array...
100
90
80
70
60
50
40
30
20
10

Example

Let us now see another example −

 Live Demo

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);
      Console.WriteLine("Displaying the stack...");
      foreach(int val in stack){
         Console.WriteLine(val);
      }
      int[] intArr = new int[10];
      stack.CopyTo(intArr, 2);
      Console.WriteLine("Displaying the array...");
      foreach(int val in intArr){
         Console.WriteLine(val);
      }
   }
}

Output

This will produce the following output −

Displaying the stack...
50
40
30
20
10
Displaying the array...
0
0
50
40
30
20
10
0
0
0

Updated on: 10-Dec-2019

123 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements