Open In App

C# | Gets or sets the value of the bit at a specific position in the BitArray

Last Updated : 01 Feb, 2019
Improve
Improve
Like Article
Like
Save
Share
Report

BitArray.Item[Int32] Property is used to get or set the value of the bit at a specific position in the BitArray.

Syntax:

public bool this[int index] { get; set; }

Here, the index is the zero-based Index of the value which is to get or set.

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

Exception: This property throws the ArgumentOutOfRangeException if the index is less than zero or index is equal to or greater than Count.

Below programs illustrate the use of above-discussed property:

Example 1:




// C# program to illustrate the
// BitArray.Item[Int32] Property
using System;
using System.Collections;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating a BitArray myBitArr
        BitArray myBitArr = new BitArray(5);
  
        // Initializing all the bits in myBitArr
        myBitArr[0] = false;
        myBitArr[1] = true;
        myBitArr[2] = true;
        myBitArr[3] = false;
        myBitArr[4] = true;
  
        // Printing the values in myBitArr
        Console.WriteLine("Initially the bits are as : ");
  
        PrintIndexAndValues(myBitArr);
  
        // after using item[int32] property
        // changing the bit value of index 2
        myBitArr[2] = false;
  
        // Printing the values in myBitArr
        Console.WriteLine("Finally the bits are as : ");
  
        PrintIndexAndValues(myBitArr);
    }
  
    // Function to display bits
    public static void PrintIndexAndValues(IEnumerable myArr)
    {
        foreach(Object obj in myArr)
        {
            Console.WriteLine(obj);
        }
    }
}


Output:

Initially the bits are as : 
False
True
True
False
True
Finally the bits are as : 
False
True
False
False
True

Example 2:




// C# program to illustrate the
// BitArray.Item[Int32] Property
using System;
using System.Collections;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating a BitArray myBitArr
        BitArray myBitArr = new BitArray(5);
  
        // Initializing all the bits in myBitArr
        myBitArr[0] = true;
        myBitArr[1] = false;
        myBitArr[2] = false;
        myBitArr[3] = false;
        myBitArr[4] = true;
  
        // after using item[int32] property
        // it will give run time error as
        // index is less than zero
        myBitArr[-1] = false;
  
        PrintIndexAndValues(myBitArr);
    }
  
    // Function to display bits
    public static void PrintIndexAndValues(IEnumerable myArr)
    {
        foreach(Object obj in myArr)
        {
            Console.WriteLine(obj);
        }
    }
}


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: Retrieving and setting the value of this property are an O(1) operation.

Reference:



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads