C# | Gets or sets the value of the bit at a specific position in the BitArray
Last Updated :
01 Feb, 2019
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:
using System;
using System.Collections;
class GFG {
public static void Main()
{
BitArray myBitArr = new BitArray(5);
myBitArr[0] = false ;
myBitArr[1] = true ;
myBitArr[2] = true ;
myBitArr[3] = false ;
myBitArr[4] = true ;
Console.WriteLine( "Initially the bits are as : " );
PrintIndexAndValues(myBitArr);
myBitArr[2] = false ;
Console.WriteLine( "Finally the bits are as : " );
PrintIndexAndValues(myBitArr);
}
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:
using System;
using System.Collections;
class GFG {
public static void Main()
{
BitArray myBitArr = new BitArray(5);
myBitArr[0] = true ;
myBitArr[1] = false ;
myBitArr[2] = false ;
myBitArr[3] = false ;
myBitArr[4] = true ;
myBitArr[-1] = false ;
PrintIndexAndValues(myBitArr);
}
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
Please Login to comment...