C# | Get value of the bit at a specific position in BitArray

The BitArray class manages a compact array of bit values, which are represented as Booleans, where true indicates that the bit is on i.e, 1 and false indicates the bit is off i.e, 0. This class is contained in System.Collections namespace.
BitArray.Get(Int32) method is used to get the value of the bit at a specific position in the BitArray.

Properties:

  • The BitArray class is a collection class in which the capacity is always the same as the count.
  • Elements are added to a BitArray by increasing the Length property.
  • Elements are deleted by decreasing the Length property.
  • Elements in this collection can be accessed using an integer index. Indexes in this collection are zero-based.

Syntax:



public bool Get (int index);

Here, index is the zero-based index of the value to get.

Return Value: It returns the value of the bit at position index.

Exception: This method will give ArgumentOutOfRangeException if the index is less than zero or index is greater than or equal to the number of elements in the BitArray.

Below given are some examples to understand the implementation in a better way:

Example 1:

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# code to get the value of
// the bit at a specific position
// in the BitArray
using System;
using System.Collections;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating a BitArray
        BitArray myBitArr = new BitArray(5);
  
        myBitArr[0] = true;
        myBitArr[1] = true;
        myBitArr[2] = false;
        myBitArr[3] = true;
        myBitArr[4] = false;
  
        // To get the value of index at index 2
        Console.WriteLine(myBitArr.Get(2));
  
        // To get the value of index at index 3
        Console.WriteLine(myBitArr.Get(3));
    }
}

chevron_right


Output:

False
True

Example 2:

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# code to get the value of
// the bit at a specific position
// in the BitArray
using System;
using System.Collections;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating a BitArray
        BitArray myBitArr = new BitArray(5);
  
        myBitArr[0] = true;
        myBitArr[1] = true;
        myBitArr[2] = false;
        myBitArr[3] = true;
        myBitArr[4] = false;
  
        // To get the value of index at index 6
        // This should raise "ArgumentOutOfRangeException"
        // as index is greater than or equal to
        // the number of elements in the BitArray.
        Console.WriteLine(myBitArr.Get(6));
    }
}

chevron_right


Runtime Error:

Unhandled Exception:
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index

Example 3:

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# code to get the value of
// the bit at a specific position
// in the BitArray
using System;
using System.Collections;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating a BitArray
        BitArray myBitArr = new BitArray(5);
  
        myBitArr[0] = true;
        myBitArr[1] = true;
        myBitArr[2] = false;
        myBitArr[3] = true;
        myBitArr[4] = false;
  
        // To get the value of index at index -2
        // This should raise "ArgumentOutOfRangeException"
        // as index is less than zero.
        Console.WriteLine(myBitArr.Get(-2));
    }
}

chevron_right


Runtime Error:

Unhandled Exception:
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index

Note: This method is an O(1) operation.

Reference:



My Personal Notes arrow_drop_up

In love with a semicolon because sometimes i miss it so badly)

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.