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:

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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); 
}

chevron_right


Output:

Elements of Original BitArray: 

False
False
True
True

Elements of Cloned BitArray: 

False
False
True
True

Reference Equals: False


My Personal Notes arrow_drop_up