C# | Inverting all bit values in BitArray

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.Not method inverts all the bit values in the current BitArray, so that elements set to true are changed to false, and elements set to false are changed to true.

Properties:

  • The BitArray class is a collection class in which the capacity is always the same as the count.
  • Elements are added to a BitArray by increasing the Length property.
  • Elements are deleted by decreasing the Length property.
  • Elements in this collection can be accessed using an integer index. Indexes in this collection are zero-based.

Syntax:



public System.Collections.BitArray Not ();

Return Value: It returns the current instance with inverted bit values.

Example:

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# code to invert values in 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[1] = true;
        myBitArr2[2] = false;
        myBitArr2[3] = true;
  
        // Function calling to print the values
        // of BitArray myBitArr1
        Console.WriteLine("Values in BitArray myBitArr1 are : ");
  
        PrintValues(myBitArr1);
  
        // Function calling to print the values
        // of BitArray myBitArr2
        Console.WriteLine("Values in BitArray myBitArr2 are : ");
  
        PrintValues(myBitArr2);
  
        // inverting values in BitArray myBitArr1
        myBitArr1.Not();
  
        // inverting values in BitArray myBitArr2
        myBitArr2.Not();
  
        // Function calling to print the inverted values
        // of BitArray myBitArr1
        Console.WriteLine("Values in BitArray myBitArr1 are : ");
  
        PrintValues(myBitArr1);
  
        // Function calling to print the inverted values
        // of BitArray myBitArr2
        Console.WriteLine("Values in BitArray myBitArr2 are : ");
  
        PrintValues(myBitArr2);
    }
  
    // Displaying the result
    public static void PrintValues(IEnumerable myList)
    {
        foreach(Object obj in myList)
        {
            Console.WriteLine(obj);
        }
    }
}

chevron_right


Output:

Values in BitArray myBitArr1 are : 
False
False
True
True
Values in BitArray myBitArr2 are : 
False
True
False
True
Values in BitArray myBitArr1 are : 
True
True
False
False
Values in BitArray myBitArr2 are : 
True
False
True
False

Note: This method is an O(n) operation, where n is Count.

Reference:



My Personal Notes arrow_drop_up

In love with a semicolon because sometimes i miss it so badly)

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.