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)方法