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.

Namespace:   System.Collections
Assembly:  mscorlib (in mscorlib.dll)

public BitArray Not()

Return Value

Type: System.Collections.BitArray

The current instance with inverted bit values.

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

The following code example shows how to apply NOT to a BitArray.

using System;
using System.Collections;
public class SamplesBitArray  {

   public static void Main()  {

      // Creates and initializes two BitArrays of the same size.
      BitArray myBA1 = new BitArray( 4 );
      BitArray myBA2 = new BitArray( 4 );
      myBA1[0] = myBA1[1] = false;
      myBA1[2] = myBA1[3] = true;
      myBA2[0] = myBA2[2] = false;
      myBA2[1] = myBA2[3] = true;

      // Performs a bitwise NOT operation between BitArray instances of the same size.
      Console.WriteLine( "Initial values" );
      Console.Write( "myBA1:" );
      PrintValues( myBA1, 8 );
      Console.Write( "myBA2:" );
      PrintValues( myBA2, 8 );
      Console.WriteLine();

      myBA1.Not();
      myBA2.Not();

      Console.WriteLine( "After NOT" );
      Console.Write( "myBA1:" );
      PrintValues( myBA1, 8 );
      Console.Write( "myBA2:" );
      PrintValues( myBA2, 8 );
      Console.WriteLine();
   }


   public static void PrintValues( IEnumerable myList, int myWidth )  {
      int i = myWidth;
      foreach ( Object obj in myList ) {
         if ( i <= 0 )  {
            i = myWidth;
            Console.WriteLine();
         }
         i--;
         Console.Write( "{0,8}", obj );
      }
      Console.WriteLine();
   }

}


/* 
This code produces the following output.

Initial values
myBA1:   False   False    True    True
myBA2:   False    True   False    True

After NOT
myBA1:    True    True   False   False
myBA2:    True   False    True   False

*/ 

Universal Windows Platform
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Return to top
Show: