How to create a shallow copy of BitArray in C#
BitArray.Clone() Method is used to create a shallow copy of the specified BitArray. A shallow copy of a collection copies only the elements of the collection irrespective of reference types or value types. But it does not copy the objects that the references refer to. The references in the new collection point to the same objects that the references in the original collection point to.
Syntax:
public object Clone ();
Example:
// C# code to illustrate the use // of BitArray.Clone Method using System; using System.Collections; public class GFG { // Main Method public static void Main(String[] args) { // Creating an empty BitArray BitArray bit1 = new BitArray(4); // Initializing values in bit1 bit1[0] = false ; bit1[1] = false ; bit1[2] = true ; bit1[3] = true ; // Displaying the list Console.WriteLine( "Elements of Original BitArray: \n" ); // calling function Result(bit1); // using Clone() method BitArray bit2 = (BitArray)bit1.Clone(); // Displaying the Cloned BitArray Console.WriteLine( "\nElements of Cloned BitArray: \n" ); // calling function Result(bit2); // checking for the equality // of References bit1 and bit2 Console.WriteLine( "\nReference Equals: {0}" , Object.ReferenceEquals(bit1, bit2)); } // method to display the values public static void Result(IEnumerable bit) { // This method prints all the // elements in the BitArray. foreach (Object obj in bit) Console.WriteLine(obj); } } |
Output:
Elements of Original BitArray: False False True True Elements of Cloned BitArray: False False True True Reference Equals: False