El método BitArray.Clone se utiliza para crear una copia superficial del BitArray. Este método solo copia 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.
Sintaxis:
public object Clone ();
Ejemplo 1: Aquí creamos una array de tipo byte. Luego declare un objeto B1 de tipo BitArray e inicialícelo usando la array de bytes creada antes. Declare otro objeto B2 de tipo BitArray que se usará para almacenar el clon de B1 . La instrucción B1.Clone devuelve la copia superficial de B1 , que es del tipo System.Collections . Por lo tanto, conviértalo explícitamente a BitArray antes de almacenarlo en el objeto B2 . Y finalmente, muestre el BitArray clonado.
csharp
// C# program to demonstrate the // BitArray.Clone Method using System; using System.Collections; class GFG { static void Main(string[] args) { // Declaring a byte array byte[] ByteArray = new byte[] {1, 3}; // Declaring a BitArray object // Initializing to the byte array BitArray B1 = new BitArray(ByteArray); // Declaring a new BitArray object BitArray B2 = new BitArray(4); // Using the BitArray.Clone method B2 = (BitArray)B1.Clone(); // Displaying the length of the BitArray Console.WriteLine("Length of B2: {0}", B2.Length); Console.WriteLine("\nB2 Contains:"); // To display the values // of BitArray object B2 foreach(Object item in B2) { Console.WriteLine(item); } } }
Length of B2: 16 B2 Contains: True False False False False False False False True True False False False False False False
Ejemplo 2: una copia superficial solo copia el contenido de BitArray y no las referencias de objetos, cualquier cambio realizado en B2 solo actualizará esos cambios en B2 y no en B1.
csharp
// C#Program to show changes in clone // don't affect the original BitArray using System; using System.Collections; class GFG { static void Main(string[] args) { // Declaring a bool array bool[] BooleanArray = new bool[] {true, false, true, false }; // Declaring an object B1 of BitArray // Initialising with the bool array BitArray B1 = new BitArray(BooleanArray); int i; // Declaring object B2 of BitArray BitArray B2 = new BitArray(4); // Using the BitArray.Clone method B2 = (BitArray)B1.Clone(); i = 4; // Displaying elements of B2 Console.WriteLine("B2 Before Making any changes:"); foreach(Object item in B2) { if (i <= 0) { Console.WriteLine(); i = 6; } i--; Console.Write("{0, 4} ", item); } // Updating elements of B2 // at index 0 and 1 B2[0] = false; B2[1] = true; i = 4; // Displaying elements // of B2 after updating Console.WriteLine("\n\nB2 After changes:"); foreach(Object item in B2) { if (i <= 0) { Console.WriteLine(); i = 6; } i--; Console.Write("{0, 4} ", item); } // Displaying elements of B1 Console.WriteLine("\n\nB1 After Changes:"); i = 4; foreach(Object item in B1) { if (i <= 0) { Console.WriteLine(); i = 6; } i--; Console.Write("{0, 4} ", item); } } }
B2 Before Making any changes: True False True False B2 After changes: False True True False B1 After Changes: True False True False
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