El método Hashtable.Clone se utiliza para crear una copia superficial de Hashtable. Cuando hacemos una copia superficial , solo se copian los elementos de la colección independientemente de su tipo, no copia los objetos a los que se refieren las referencias. Básicamente, crea un nuevo objeto y ese objeto apunta a las referencias originales.
Sintaxis:
HashtableName.Clone();
Los siguientes ejemplos ilustran el uso de este método.
Ejemplo 1: Cree un objeto H1 del tipo de clase Hashtable que esté predefinido en el espacio de nombres System.Collections. Luego agregamos claves y valores de tipo string usando Hashtable. Añadir método. El método Hashtable.clone se usa para crear una copia superficial de H1. Usamos el bucle foreach para mostrar los elementos de ShallowH1. La propiedad DictionaryEntry se usa para establecer u obtener el valor de la clave, el valor ordenó un par.
// C# Program to demonstrate // the Hashtable.Clone Method using System; using System.Collections; namespace hashtable { class GFG { // Main Method public static void Main(string[] args) { // Declaring a Hashtable named H1 // Calls the default constructor Hashtable H1 = new Hashtable(); // Adding keys and values // to the hashtable H1.Add("1", "This"); H1.Add("2", "is"); H1.Add("3", "a"); H1.Add("4", "Hash"); H1.Add("5", "Table"); // Creating a shallow copy of H1 Hashtable ShallowH1 = new Hashtable(); ShallowH1 = (Hashtable)H1.Clone(); // Displaying values of key, value pairs // Using DictionaryEntry which is predefined foreach(DictionaryEntry item in ShallowH1) { Console.WriteLine("Key " + item.Key + " Value " + item.Value); } } } }
Key 5 Value Table Key 1 Value This Key 4 Value Hash Key 3 Value a Key 2 Value is
Ejemplo 2: Ahora intentemos hacer algún cambio en la copia superficial. Como se muestra en el código a continuación, los cambios de la copia superficial no se reflejan en el Hashtable original.
// C# Program to demonstrate // the Hashtable.Clone Method using System; using System.Collections; namespace hashtable2 { class GFG { // Main Method public static void Main(String[] args) { // Declaring a Hashtable // Calls the constructor Hashtable H1 = new Hashtable(); // Add the values to H1 H1.Add("1", "Orange"); H1.Add("2", "Apple"); H1.Add("3", "Blueberry"); // Create a shallow copy Hashtable H2 = new Hashtable(); H2 = (Hashtable)H1.Clone(); // Making changes in the shallow copy H2.Add("4", "Mango"); H2.Remove("1"); // Displaying original Hashtable foreach(DictionaryEntry item in H1) Console.WriteLine("Key {0} Value {1}", item.Key, item.Value); Console.WriteLine(); // Displaying shallow copy // of the Hashtable foreach(DictionaryEntry item in H2) Console.WriteLine("Key {0} Value {1}", item.Key, item.Value); } } }
Key 3 Value Blueberry Key 2 Value Apple Key 1 Value Orange Key 4 Value Mango Key 3 Value Blueberry Key 2 Value Apple
Referencia:
Publicación traducida automáticamente
Artículo escrito por ManasiKirloskar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA