C# | Gets or sets the value of the bit at a specific position in the BitArray
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
Please Login to comment...