C# Queue.CopyTo()方法使用示例

C#方法Queue.CopyTo()

Queue.CopyTo()方法用于将Queue元素/对象从指定的索引复制到现有数组。

语法:

    void Queue.CopyTo(Array, Int32);

参数: Array –必须在其中复制队列元素/对象的目标array_name,Int32 –是目标array_name中从中复制队列元素/对象的索引。

返回值: void –不返回任何内容。

示例

    declare and initialize a Queue:
    Queue que = new Queue();   

    insertting elements:
    que.Enqueue(100);
    que.Enqueue(200);
    que.Enqueue(300);
    que.Enqueue(400);
    que.Enqueue(500);
    
    using CopyTo(), copying queue elements to the array:
    que.CopyTo(arr, 3); //从数组中的第三个索引复制

    Output:
    arr: 0 0 0 100 200 300 400 500 0 0 0 0 0 0 0 0 0 0 0 0

C#使用Queue.CopyTo()方法将队列元素/对象复制到数组的示例

using System;
using System.Text;
using System.Collections;

namespace Test
{
    class Program
    {
        //打印队列元素的功能
        static void printQueue(Queue q)
        {
            foreach (Object obj in q)
            {
                Console.Write(obj + " ");
            }
            Console.WriteLine();
        }

        static void Main(string[] args)
        {
            //声明并初始化一个队列
            Queue que = new Queue();

            //20个元素的数组声明
            int[] arr = new int[20];

            //插入元素
            que.Enqueue(100);
            que.Enqueue(200);
            que.Enqueue(300);
            que.Enqueue(400);
            que.Enqueue(500);

            //打印队列元素
            Console.WriteLine("Queue elements...");
            printQueue(que);

            //打印数组 
            Console.WriteLine("Array elements before CopyTo()...");
            foreach (int item in arr)
            {
                Console.Write(item + " ");
            }
            Console.WriteLine();

            //使用CopyTo(),将Queue元素复制到数组
            que.CopyTo(arr, 3);

            //打印数组 
            Console.WriteLine("Array elements after CopyTo()...");
            foreach (int item in arr)
            {
                Console.Write(item + " ");
            }
            Console.WriteLine();          

            //按ENTER退出
            Console.ReadLine();
        }
    }
}

输出结果

Queue elements...
100 200 300 400 500
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 100 200 300 400 500 0 0 0 0 0 0 0 0 0 0 0 0

参考:Queue.CopyTo(Array,Int32)方法