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() '创建两个大小为 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} '将值 60 和 13 存储到位数组中 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