Este método se utiliza para crear una copia superficial de la cola. Simplemente crea una copia de la cola. La copia tendrá una referencia a un clon de los elementos internos pero no una referencia a los elementos originales.
Sintaxis: objeto virtual público Clone();
Valor de retorno: el método devuelve un objeto que es solo una copia superficial de la cola.
Ejemplo 1: Veamos un ejemplo sin usar un método Clone() y copiando directamente una Cola usando el operador de asignación ‘=’. En el siguiente código, podemos ver que incluso si eliminamos elementos de myQueue() de myQueue2, el contenido de myQueue también cambia. Esto se debe a que ‘=’ solo asigna la referencia de myQueue a myQueue2 y no crea ninguna cola nueva. Pero Clone() crea una nueva cola.
// C# program to Copy a Queue using // the assignment operator using System; using System.Collections; class GFG { // Main Method public static void Main(string[] args) { Queue myQueue = new Queue(); myQueue.Enqueue("Geeks"); myQueue.Enqueue("Class"); myQueue.Enqueue("Noida"); myQueue.Enqueue("UP"); // Creating a copy using the // assignment operator. Queue myQueue2 = myQueue; myQueue2.Dequeue(); PrintValues(myQueue); } public static void PrintValues(IEnumerable myCollection) { // This method prints all the // elements in the Stack. foreach(Object obj in myCollection) Console.WriteLine(obj); } }
Class Noida UP
Ejemplo 2: Aquí myQueue no cambia.
// C# program to illustrate the use // of Object.Clone() Method using System; using System.Collections; class GFG { // Main Method public static void Main(string[] args) { Queue myQueue = new Queue(); myQueue.Enqueue("Geeks"); myQueue.Enqueue("Class"); myQueue.Enqueue("Noida"); myQueue.Enqueue("UP"); // Creating copy using Clone() method. Queue myQueue2 = (Queue)myQueue.Clone(); myQueue2.Dequeue(); PrintValues(myQueue); } public static void PrintValues(IEnumerable myCollection) { // This method prints all the // elements in the Stack. foreach(Object obj in myCollection) Console.WriteLine(obj); Console.WriteLine(); } }
Geeks Class Noida UP
Referencia:
Publicación traducida automáticamente
Artículo escrito por mayukh Sengupta y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA