Stack.CopyTo()方法用于将堆栈元素/对象从给定索引复制到现有数组。
语法:
void Stack.CopyTo(Array, Int32);
参数: Array –我们必须在其中复制堆栈元素/对象的目标array_name,Int32 –是目标array_name中从中复制堆栈元素/对象的索引。
返回值: void –不返回任何内容。
示例
declare and initialize a stack: Stack stk = new Stack(); an array declaration for 20 elements: int[] arr = new int[20]; insertting elements: stk.Push(100); stk.Push(200); stk.Push(300); stk.Push(400); stk.Push(500); using CopyTo(), copying stack elements to the array: stk.CopyTo(arr, 3); //从数组中的第三个索引复制 Output: arr: 0 0 0 500 400 300 200 100 0 0 0 0 0 0 0 0 0 0 0 0
using System; using System.Text; using System.Collections; namespace Test { class Program { //打印堆栈元素的功能 static void printStack(Stack s) { foreach (Object obj in s) { Console.Write(obj + " "); } Console.WriteLine(); } static void Main(string[] args) { //声明并初始化堆栈 Stack stk = new Stack(); //20个元素的数组声明 int[] arr = new int[20]; //插入元素 stk.Push(100); stk.Push(200); stk.Push(300); stk.Push(400); stk.Push(500); //打印堆栈元素 Console.WriteLine("Stack elements are..."); printStack(stk); //打印数组 Console.WriteLine("Array elements before CopyTo()..."); foreach (int item in arr) { Console.Write(item + " "); } Console.WriteLine(); //使用CopyTo(),将堆栈元素复制到数组 stk.CopyTo(arr, 3); //打印数组 Console.WriteLine("Array elements after CopyTo()..."); foreach (int item in arr) { Console.Write(item + " "); } Console.WriteLine(); //按ENTER退出 Console.ReadLine(); } } }
输出结果
Stack elements are... 500 400 300 200 100 Array elements before CopyTo()... 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Array elements after CopyTo()... 0 0 0 500 400 300 200 100 0 0 0 0 0 0 0 0 0 0 0 0
参考:Stack.CopyTo(Array,Int32)方法