Cómo crear una copia superficial de SortedList Object en C#

El método SortedList.Clone() se usa para crear una copia superficial de un objeto SortedList .

Sintaxis:

public virtual object Clone();

Valor devuelto: Devuelve una copia superficial del objeto SortedList . El tipo de valor devuelto será Object .

Nota: una copia superficial de una colección copia solo los elementos de la colección, ya sean tipos de referencia o tipos de valor, pero no copia los objetos a los que hacen referencia las referencias. Las referencias en la nueva colección apuntan a los mismos objetos a los que apuntan las referencias en la colección original.

Los siguientes programas ilustran el uso del método mencionado anteriormente:

Ejemplo 1:

// C# code to copy the 
// contents of one SortedList 
// to another SortedList. 
using System; 
using System.Collections; 
  
class Geeks { 
  
    // Main Method 
    public static void Main(String[] args) 
    { 
            // Creating a SortedList 
            SortedList mySL = new SortedList();
  
            // Adding elements to SortedList 
            mySL.Add(1, "C");
            mySL.Add(2, "C++");
            mySL.Add(3, "Java");
            mySL.Add(4, "C#");
              
  
            // Creating a shallow copy of mySL
            // we need to cast it explicitly
            SortedList myNewSL = (SortedList)mySL.Clone();
  
            // displaying the elements of mySL
            Console.WriteLine("Elements of mySL: ");
              
            for (int i = 0; i < mySL.Count; i++)
            { 
                Console.WriteLine("{0}:\t{1}", mySL.GetKey(i), 
                                          mySL.GetByIndex(i)); 
            }
                                        
            // displaying the elements of myNewSL
            Console.WriteLine("\nElements of myNewSL: ");
              
            for (int i = 0; i < myNewSL.Count; i++) 
            { 
                Console.WriteLine("{0}:\t{1}", myNewSL.GetKey(i), 
                                          myNewSL.GetByIndex(i)); 
              
            } 
          
    } 
} 
Producción:

Elements of mySL: 
1:    C
2:    C++
3:    Java
4:    C#

Elements of myNewSL: 
1:    C
2:    C++
3:    Java
4:    C#

Ejemplo 2:

// C# code to copy the 
// contents of one SortedList 
// to another SortedList. 
using System; 
using System.Collections; 
  
class Geeks { 
  
    // Main Method 
    public static void Main(String[] args) 
    { 
            // Creating a SortedList 
            SortedList mySL = new SortedList();
  
            // Adding elements to SortedList 
            mySL.Add(1, "HTML");
            mySL.Add(2, "CSS");
            mySL.Add(3, "PHP");
            mySL.Add(4, "DBMS");
              
  
            // Creating a shallow copy of mySL
            // we need to cast it explicitly
            SortedList myNewSL = (SortedList)mySL.Clone();
              
            // checking for the equality 
            // of References mySL and myNewSL
            Console.WriteLine("Reference Equals: {0}", 
               Object.ReferenceEquals(mySL, myNewSL));
                 
            // displaying the elements of mySL
            Console.WriteLine("Elements of mySL: ");
               
            for (int i = 0; i < mySL.Count; i++)
            { 
                Console.WriteLine("{0}:\t{1}", mySL.GetKey(i), 
                                          mySL.GetByIndex(i)); 
            }
                                         
            // displaying the elements of myNewSL
            Console.WriteLine("\nElements of myNewSL: ");
               
            for (int i = 0; i < myNewSL.Count; i++) 
            { 
                Console.WriteLine("{0}:\t{1}", myNewSL.GetKey(i), 
                                          myNewSL.GetByIndex(i)); 
               
            } 
              
            // Replaces the values at 
            // index 1 of mySL
            mySL.SetByIndex(1, "C#"); 
              
            Console.WriteLine("\nAfter Replaces Elements in mySL\n");
              
            // displaying the elements of myNewSL
            Console.WriteLine("\nElements of myNewSL: ");
               
            for (int i = 0; i < myNewSL.Count; i++) 
            { 
                Console.WriteLine("{0}:\t{1}", myNewSL.GetKey(i), 
                                          myNewSL.GetByIndex(i)); 
               
            } 
              
            // displaying the elements of mySL
            Console.WriteLine("\nElements of mySL: ");
               
            for (int i = 0; i < mySL.Count; i++)
            { 
                Console.WriteLine("{0}:\t{1}", mySL.GetKey(i), 
                                          mySL.GetByIndex(i)); 
            }
              
          
    } 
} 
Producción:

Reference Equals: False
Elements of mySL: 
1:    HTML
2:    CSS
3:    PHP
4:    DBMS

Elements of myNewSL: 
1:    HTML
2:    CSS
3:    PHP
4:    DBMS

After Replaces Elements in mySL


Elements of myNewSL: 
1:    HTML
2:    CSS
3:    PHP
4:    DBMS

Elements of mySL: 
1:    HTML
2:    C#
3:    PHP
4:    DBMS

Referencia:

Publicación traducida automáticamente

Artículo escrito por SanchitDwivedi 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 *