Open In App

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

Last Updated : 01 Feb, 2019
Comments
Improve
Suggest changes
Like Article
Like
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: CSharp
// 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: CSharp
// 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:

Next Article

Similar Reads