C# Stack.CopyTo()方法使用示例
C#方法Stack.CopyTo()
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使用方法将堆栈元素/对象复制到数组的C#示例Stack.CopyTo()
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)方法