C# | Bitwise OR operation between the elements of BitArray (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.Or(BitArray) method is used to perform the bitwise OR operation between the elements of the current BitArray object and the corresponding elements in the specified array. The current BitArray object will be modified to store the result of the bitwise OR operation.Properties:

Syntax:

public System.Collections.BitArray Or (System.Collections.BitArray value);

Here, value is the array with which to perform the bitwise OR operation.Return Value: It returns an array containing the result of the bitwise OR operation, which is a reference to the current BitArray object.Exceptions:

Below given are some examples to understand the implementation in a better way:Example 1:

CSHARP `

// C# code to do bitwise // OR between BitArray using System; using System.Collections;

class GFG {

// Driver code
public static void Main()
{

    // Creating a BitArray
    BitArray myBitArr1 = new BitArray(4);

    // Creating a BitArray
    BitArray myBitArr2 = new BitArray(4);

    // Initializing values in myBitArr1
    myBitArr1[0] = false;
    myBitArr1[1] = false;
    myBitArr1[2] = true;
    myBitArr1[3] = true;

    // Initializing values in myBitArr2
    myBitArr2[0] = false;
    myBitArr2[2] = false;
    myBitArr2[1] = true;
    myBitArr2[3] = true;

    // function calling
    PrintValues(myBitArr1.Or(myBitArr2));
}

// Displaying the result
public static void PrintValues(IEnumerable myList)
{
    foreach(Object obj in myList)
    {
        Console.WriteLine(obj);
    }
}

}

`

Output:

False True True True

Example 2:

CSHARP `

// C# code to do bitwise // OR between BitArray using System; using System.Collections;

class GFG {

// Driver code
public static void Main()
{

    // Creating a BitArray
    BitArray myBitArr1 = new BitArray(4);

    // Creating a BitArray
    BitArray myBitArr2 = new BitArray(6);

    // Initializing values in myBitArr1
    myBitArr1[0] = false;
    myBitArr1[1] = false;
    myBitArr1[2] = true;
    myBitArr1[3] = true;

    // Initializing values in myBitArr2
    myBitArr2[0] = false;
    myBitArr2[2] = false;
    myBitArr2[1] = true;
    myBitArr2[3] = true;
    myBitArr2[4] = true;
    myBitArr2[5] = true;

    // function calling
    // This should raise "ArgumentException"
    // as array lengths are not same
    PrintValues(myBitArr1.Or(myBitArr2));
}

// Displaying the result
public static void PrintValues(IEnumerable myList)
{
    foreach(Object obj in myList)
    {
        Console.WriteLine(obj);
    }
}

}

`

Runtime Error:

Unhandled Exception: System.ArgumentException: Array lengths must be the same.

Note:

Reference: