Método Stack.CopyTo() en C#

Este método (viene bajo el espacio de nombres System.Collections ) se usa para copiar la pila a una array 1-D existente que comienza desde el índice de array especificado. Los elementos se copian en la array en orden de último en entrar, primero en salir (LIFO), similar al orden de los elementos devueltos por una sucesión de llamadas a Pop. Este método es una operación O(n), donde n es Count.

Sintaxis:

public void CopyTo (T[] array, int arrayIndex);

Parámetros:

array: Es el Array unidimensional que es el destino de los elementos copiados de Stack. El Array debe tener una indexación basada en cero.

arrayIndex: Es el índice basado en cero en la array en el que comienza la copia.

Excepciones:

  • ArgumentNullException: si una array es nula.
  • ArgumentOutOfRangeException: si el índice es menor que cero.
  • ArgumentException: si la array es multidimensional o la cantidad de elementos en la pila de origen es mayor que el espacio disponible desde el índice hasta el final de la array de destino.
  • InvalidCastException : si el tipo de la pila de origen no se puede convertir automáticamente al tipo de la array de destino .

A continuación se dan algunos ejemplos para entender la implementación de una mejor manera:

Ejemplo 1:

// C# code to illustrate the
// Stack.CopyTo() Method
using System;
using System.Collections;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating a Stack
        Stack myStack = new Stack();
  
        // Inserting the elements into the Stack
        myStack.Push("Geeks");
        myStack.Push("Geeks Classes");
        myStack.Push("Noida");
        myStack.Push("Data Structures");
        myStack.Push("GeeksforGeeks");
  
        // Creating a string array arr
        string[] arr = new string[myStack.Count];
  
        // Copying the elements of
        // stack into array arr
        myStack.CopyTo(arr, 0);
  
        // Displaying the elements
        // in array arr
        foreach(string str in arr)
        {
            Console.WriteLine(str);
        }
    }
}
Producción:

GeeksforGeeks
Data Structures
Noida
Geeks Classes
Geeks

Ejemplo 2:

// C# code to illustrate the
// Stack.CopyTo() Method
using System;
using System.Collections;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating a Stack
        Stack myStack = new Stack();
  
        // Inserting the elements
        // into the Stack
        myStack.Push(2);
        myStack.Push(3);
        myStack.Push(4);
        myStack.Push(5);
        myStack.Push(6);
  
        // Creating an Integer array arr
        int[] arr = new int[myStack.Count];
  
        // Copying the elements of 
        // stack into array arr
        myStack.CopyTo(arr, 0);
  
        // Displaying the elements
        // in array arr
        foreach(int i in arr)
        {
            Console.WriteLine(i);
        }
    }
}
Producción:

6
5
4
3
2

Referencia:

Publicación traducida automáticamente

Artículo escrito por Kirti_Mangal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *