VB.Net - BitArray



BitArray 类管理一个紧凑的位值数组,这些位值表示为布尔值,其中 true 表示位为开 (1),false 表示位为关 (0)。

当需要存储位但事先不知道位数时,可以使用它。可以使用从零开始的整数索引访问 BitArray 集合中的项目。

BitArray 类的属性和方法

下表列出了一些常用的BitArray类的属性

序号 属性及说明
1

Count

获取 BitArray 中包含的元素数。

2

IsReadOnly

获取一个值,该值指示 BitArray 是否为只读。

3

Item

获取或设置 BitArray 中特定位置的位的值。

4

Length

获取或设置 BitArray 中的元素数量。

下表列出了一些常用的BitArray类的方法

序号 方法名称及用途
1

Public Function And (value As BitArray) As BitArray

对当前 BitArray 中的元素与指定 BitArray 中的相应元素执行按位 AND 运算。

2

Public Function Get (index As Integer) As Boolean

获取 BitArray 中特定位置的位的值。

3

Public Function Not As BitArray

反转当前 BitArray 中的所有位值,以便设置为 true 的元素更改为 false,设置为 false 的元素更改为 true。

4

Public Function Or (value As BitArray) As BitArray

对当前 BitArray 中的元素与指定 BitArray 中的相应元素执行按位 OR 运算。

5

Public Sub Set (index As Integer, value As Boolean )

将 BitArray 中特定位置的位设置为指定值。

6

Public Sub SetAll (value As Boolean)

将 BitArray 中的所有位设置为指定值。

7

Public Function Xor (value As BitArray) As BitArray

对当前 BitArray 中的元素与指定 BitArray 中的相应元素执行按位异或运算。

示例

以下示例演示了 BitArray 类的用法:

Module collections
   Sub Main()
      'creating two  bit arrays of size 8
      Dim ba1 As BitArray = New BitArray(8)
      Dim ba2 As BitArray = New BitArray(8)
      Dim a() As Byte = {60}
      Dim b() As Byte = {13}
      'storing the values 60, and 13 into the bit arrays
      ba1 = New BitArray(a)
      ba2 = New BitArray(b)
      'content of ba1
      Console.WriteLine("Bit array ba1: 60")
      Dim i As Integer
      
      For i = 0 To ba1.Count
         Console.Write("{0 } ", ba1(i))
      Next i
      Console.WriteLine()
      'content of ba2
      Console.WriteLine("Bit array ba2: 13")
      
      For i = 0 To ba2.Count
         Console.Write("{0 } ", ba2(i))
      Next i
      Console.WriteLine()
      Dim ba3 As BitArray = New BitArray(8)
      ba3 = ba1.And(ba2)
      'content of ba3
      Console.WriteLine("Bit array ba3 after AND operation: 12")
      
      For i = 0 To ba3.Count
         Console.Write("{0 } ", ba3(i))
      Next i
      Console.WriteLine()
      ba3 = ba1.Or(ba2)
      'content of ba3
      Console.WriteLine("Bit array ba3 after OR operation: 61")
      
      For i = 0 To ba3.Count
         Console.Write("{0 } ", ba3(i))
      Next i
      Console.WriteLine()
      Console.ReadKey()
   End Sub
End Module

编译并执行以上代码后,将产生以下结果:

Bit array ba1: 60 
False False True True True True False False 
Bit array ba2: 13
True False True True False False False False 
Bit array ba3 after AND operation: 12
False False True True False False False False 
Bit array ba3 after OR operation: 61
True False True True False False False False 
vb.net_collections.htm
广告