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:
- https://docs.microsoft.com/en-us/dotnet/api/system.collections.bitarray.item?view=netframework-4.7.2