要将堆栈复制到数组,代码如下:
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