BitArray
BitArray类管理一个紧凑的位值数组,表示为布尔值,其中true表示该位为on(1),false表示该位为off(0)。
它在您需要存储位但未提前知道位数时使用。 您可以使用从零开始的整数索引来访问BitArray集合中的项目。
BitArray类的属性和方法
下表列出了BitArray类的一些常用properties -
Sr.No. | 财产和描述 |
---|---|
1 | Count 获取BitArray中包含的元素数。 |
2 | IsReadOnly 获取一个值,该值指示BitArray是否为只读。 |
3 | Item 获取或设置BitArray中特定位置的位值。 |
4 | Length 获取或设置BitArray中的元素数。 |
下表列出了BitArray类的一些常用methods -
Sr.No. | 方法名称和目的 |
---|---|
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中的相应元素执行按位eXclusive OR运算。 |
例子 (Example)
以下示例演示了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