.NET Framework Class Library
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.
Assembly: mscorlib (in mscorlib.dll)
Syntax
Visual Basic
Public Function Not As BitArray
C#
public BitArray Not()
Visual C++
public:
BitArray^ Not()
F#
member Not : unit -> BitArray
Remarks
This method is an O(n) operation, where n is Count.
Examples
The following code example shows how to apply NOT to a BitArray.
Visual Basic
Imports System Imports System.Collections Imports Microsoft.VisualBasic Public Class SamplesBitArray Public Shared Sub Main() ' Creates and initializes two BitArrays of the same size. Dim myBA1 As New BitArray(4) Dim myBA2 As New BitArray(4) myBA1(0) = False myBA1(1) = False myBA1(2) = True myBA1(3) = True myBA2(0) = False myBA2(2) = False myBA2(1) = True 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() End Sub Public Shared Sub PrintValues(myList As IEnumerable, myWidth As Integer) Dim i As Integer = myWidth Dim obj As [Object] For Each obj In myList If i <= 0 Then i = myWidth Console.WriteLine() End If i -= 1 Console.Write("{0,8}", obj) Next obj Console.WriteLine() End Sub 'PrintValues End Class ' 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
C#
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 */
Visual C++
using namespace System; using namespace System::Collections; void PrintValues( IEnumerable^ myList, int myWidth ); int main() { // Creates and initializes two BitArrays of the same size. BitArray^ myBA1 = gcnew BitArray( 4 ); BitArray^ myBA2 = gcnew BitArray( 4 ); myBA1[ 0 ] = false; myBA1[ 1 ] = false; myBA1[ 2 ] = true; myBA1[ 3 ] = true; myBA2[ 0 ] = false; myBA2[ 1 ] = true; myBA2[ 2 ] = false; 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(); } void PrintValues( IEnumerable^ myList, int myWidth ) { int i = myWidth; IEnumerator^ myEnum = myList->GetEnumerator(); while ( myEnum->MoveNext() ) { Object^ obj = safe_cast<Object^>(myEnum->Current); 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 */
Version Information
.NET Framework
Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0.NET Framework Client Profile
Supported in: 4, 3.5 SP1Portable Class Library
Supported in: Portable Class LibraryPlatforms
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
See Also