C#中将堆栈复制到数组

要将堆栈复制到数组,代码如下:

示例

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);
      }
   }
}

输出结果

这将产生以下输出-

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

示例

现在让我们来看另一个示例-

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);
      }
   }
}

输出结果

这将产生以下输出-

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