BitArray Class in C#


The BitArray class manages a compact array of bit values, which are represented as Booleans, where true indicates that the bit is on (1) and false indicates the bit is off (0).

The following table lists some of the commonly used methods of the BitArray class −

Sr.No.Method & Description
1public BitArray And(BitArray value);
Performs the bitwise AND operation on the elements in the current BitArray against the corresponding elements in the specified BitArray.
2public bool Get(int index);
Gets the value of the bit at a specific position in the BitArray.
3public BitArray Not();
Inverts all the bit values in the current BitArray, so that elements set to true are changed to false, and elements set to false are changed to true.
4public BitArray Or(BitArray value);
Performs the bitwise OR operation on the elements in the current BitArray against the corresponding elements in the specified BitArray.
5public void Set(int index, bool value);
Sets the bit at a specific position in the BitArray to the specified value.
6public void SetAll(bool value);
Sets all bits in the BitArray to the specified value.
7public BitArray Xor(BitArray value);
Performs the bitwise exclusive OR operation on the elements in the current BitArray against the corresponding elements in the specified BitArray.

Example

Let us now see an example −

 Live Demo

using System;
using System.Collections;
public class Demo {
   public static void Main(){
      BitArray arr1 = new BitArray(2);
      BitArray arr2 = new BitArray(2);
      arr1[0] = false;
      arr1[1] = true;
      Console.WriteLine("Elements in BitArray1...");
      foreach (bool res in arr1){
         Console.WriteLine(res);
      }
      arr2[0] = false;
      arr2[1] = true;
      Console.WriteLine("Elements in BitArray2...");
      foreach (bool res in arr2){
         Console.WriteLine(res);
      }
      Console.WriteLine("Is BitArray1 equal to BitArray2? = "+arr2.Equals(arr1));
      Console.WriteLine("Is BitArray synchronized? = "+arr2.IsSynchronized);
      Console.WriteLine("Is BitArray read-only? = "+arr2.IsReadOnly);
   }
}

Output

This will produce the following output −

Elements in BitArray1...
False
True
Elements in BitArray2...
False
True
Is BitArray1 equal to BitArray2? = False
Is BitArray synchronized? = False
Is BitArray read-only? = False

Example

Let us see another example to implement Bitwise exclusive OR operation between elements of BitArray −

 Live Demo

using System;
using System.Collections;
public class Demo {
   public static void Main(){
      BitArray arr1 = new BitArray(5);
      BitArray arr2 = new BitArray(5);
      arr1[0] = false;
      arr1[1] = false;
      arr2[0] = false;
      arr2[1] = true;
      Console.WriteLine("BitArray1 elements...");
      foreach (bool res in arr1){
         Console.WriteLine(res);
      }
      Console.WriteLine("
BitArray2 elements...");       foreach (bool res in arr2){          Console.WriteLine(res);       }       Console.WriteLine("
Bitwise exclusive OR operation...");       IEnumerable demoEnum = arr1.Xor(arr2);       foreach(Object ob in demoEnum){          Console.WriteLine(ob);       }    } }

Output

This will produce the following output −

BitArray1 elements...
False
False
False
False
False

BitArray2 elements...
False
True
False
False
False

Bitwise exclusive OR operation...
False
True
False
False
False

Updated on: 09-Dec-2019

72 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements