VB.Net - BitArray

2022-08-09 14:33 更新

BitArray類管理位值的壓縮數(shù)組,它表示為布爾值,其中true表示該位為(1),false表示位為off(0)。

它用于需要存儲位但不提前知道位數(shù)。 您可以通過使用從零開始的整數(shù)索引來訪問BitArray集合中的項目。

BitArray類的屬性和方法

下表列出了BitArray類的一些常用屬性:

屬性描述
Count獲取BitArray中包含的元素數(shù)。
IsReadOnly獲取一個指示BitArray是否為只讀的值。
Item獲取或設(shè)置位在BitArray中特定位置的值。
Length獲取或設(shè)置BitArray中的元素數(shù)。

下表列出了BitArray類的一些常用方法:
S.N方法名稱和用途
1

Public Function And (value As BitArray) As BitArray

對當(dāng)前BitArray中的元素與指定的BitArray中的相應(yīng)元素執(zhí)行按位AND運算。

2

Public Function Get (index As Integer) As Boolean

獲取位在BitArray中特定位置的值。

3

Public Function Not As BitArray

反轉(zhuǎn)當(dāng)前BitArray中的所有位值,以便將設(shè)置為true的元素更改為false,將設(shè)置為false的元素更改為true。

4

Public Function Or (value As BitArray) As BitArray

對當(dāng)前BitArray中的元素與指定的BitArray中的相應(yīng)元素執(zhí)行按位或運算。

5

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

將BitArray中特定位置的位設(shè)置為指定值。

6

Public Sub SetAll (value As Boolean)

將BitArray中的所有位設(shè)置為指定的值。

7

Public Function Xor (value As BitArray) As BitArray

對當(dāng)前BitArray中的元素與指定的BitArray中的相應(yīng)元素執(zhí)行逐位異或操作。

示例:

下面的例子演示了使用BitArray類:


Imports System.Collections
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 - 1
         Console.Write("{0 } ", ba1(i))
      Next i
      Console.WriteLine()
      'content of ba2
      Console.WriteLine("Bit array ba2: 13")
      
                For i = 0 To ba2.Count -1
         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 -1
         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 -1
         Console.Write("{0 } ", ba3(i))
      Next i
      Console.WriteLine()
      Console.ReadKey()
   End Sub
End Module
當(dāng)上述代碼被編譯和執(zhí)行時,它產(chǎn)生以下結(jié)果:
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 


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號