BitArray.Not 方法
反转当前 BitArray 中的所有位值,以便将设置为 true 的元素更改为 false;将设置为 false 的元素更改为 true。
**命名空间:**System.Collections
**程序集:**mscorlib(在 mscorlib.dll 中)
语法
声明
Public Function Not As BitArray
用法
Dim instance As BitArray
Dim returnValue As BitArray
returnValue = instance.Not
public BitArray Not ()
public:
BitArray^ Not ()
public BitArray Not ()
public function Not () : BitArray
返回值
具有已反转的位值的当前实例。
备注
此方法的运算复杂度为 O(n),其中 n 是 Count。
示例
下面的代码示例演示如何将 NOT 应用于 BitArray。
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
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
*/
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
*/
import System.*;
import System.Collections.*;
public class SamplesBitArray
{
public static void main(String[] args)
{
// Creates and initializes two BitArrays of the same size.
BitArray myBA1 = new BitArray(4);
BitArray myBA2 = new BitArray(4);
myBA1.set_Item(0, false);
myBA1.set_Item(1, false);
myBA1.set_Item(2, true);
myBA1.set_Item(3, true);
myBA2.set_Item(0, false);
myBA2.set_Item(2, false);
myBA2.set_Item(1, true);
myBA2.set_Item(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();
} //main
public static void PrintValues(IEnumerable myList, int myWidth)
{
int i = myWidth;
IEnumerator objMyEnum = myList.GetEnumerator();
while (objMyEnum.MoveNext()) {
Object obj = objMyEnum.get_Current();
if (i <= 0) {
i = myWidth;
Console.WriteLine();
}
i--;
Console.Write("{0,8}", obj);
}
Console.WriteLine();
} //PrintValues
} //SamplesBitArray
/*
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
*/
平台
Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition
.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求。
版本信息
.NET Framework
受以下版本支持:2.0、1.1、1.0
.NET Compact Framework
受以下版本支持:2.0、1.0