C# | Set the bit at a specific position in the BitArray to the specified value (original) (raw)

Last Updated : 01 Feb, 2019

The BitArray class manages a compact array of bit values, which are represented as Booleans, where true indicates that the bit is on i.e, 1 and false indicates the bit is off i.e, 0. This class is contained in System.Collections namespace. BitArray.Set(Int32, Boolean) method is used to set the bit at a specific position in the BitArray to the specified value.Properties:

Syntax:

public void Set (int index, bool value);

Parameters:

index : The zero-based index of the bit to set.value : The Boolean value to assign to the bit.

Exception: This method will give ArgumentOutOfRangeException if the index is less than zero or the index is greater than or equal to the number of elements in the BitArray. Note: This method is an O(1) operation. Below programs illustrate the use of BitArray.Set(Int32, Boolean) Method:Example 1:

CSHARP `

// C# code to set the bit at // a specific position in the // BitArray to the specified value using System; using System.Collections;

class GFG {

// Driver code
public static void Main()
{

    // Creating a BitArray myBitArr
    // Initializing all the values to false
    BitArray myBitArr = new BitArray(5, false);

    // Printing the values in myBitArr
    // It should display all the bits as false
    Console.WriteLine("Initially the bits are as : ");

    PrintIndexAndValues(myBitArr);

    // Setting bit at index 3 to true
    myBitArr.Set(3, true);

    // 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 False False False False Finally the bits are as : False False False True False

Example 2:

CSHARP `

// C# code to set the bit at // a specific position in the // BitArray to the specified value 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);

    // Setting bit at index 2 to false
    myBitArr.Set(2, false);

    // Setting bit at index 3 to true
    myBitArr.Set(3, true);

    // 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 True True

Reference: