C # - Classe BitArray
La classe BitArray gestisce un array compatto di valori di bit, rappresentati come booleani, dove true indica che il bit è attivo (1) e false indica che il bit è disattivato (0).
Viene utilizzato quando è necessario memorizzare i bit ma non si conosce in anticipo il numero di bit. È possibile accedere agli elementi dalla raccolta BitArray utilizzando un indice intero, che inizia da zero.
Metodi e proprietà della classe BitArray
La tabella seguente elenca alcuni dei file di uso comune properties del BitArray classe -
Sr.No. | Proprietà e descrizione |
---|---|
1 | Count Ottiene il numero di elementi contenuti in BitArray. |
2 | IsReadOnly Ottiene un valore che indica se BitArray è di sola lettura. |
3 | Item Ottiene o imposta il valore del bit in una posizione specifica in BitArray. |
4 | Length Ottiene o imposta il numero di elementi in BitArray. |
La tabella seguente elenca alcuni dei file di uso comune methods del BitArray classe -
Sr.No. | Metodo e descrizione |
---|---|
1 | public BitArray And(BitArray value); Esegue l'operazione AND bit per bit sugli elementi nel BitArray corrente rispetto agli elementi corrispondenti nel BitArray specificato. |
2 | public bool Get(int index); Ottiene il valore del bit in una posizione specifica in BitArray. |
3 | public BitArray Not(); Inverte tutti i valori di bit nel BitArray corrente, in modo che gli elementi impostati su true vengano modificati in false e gli elementi impostati su false vengano modificati in true. |
4 | public BitArray Or(BitArray value); Esegue l'operazione OR bit per bit sugli elementi nel BitArray corrente rispetto agli elementi corrispondenti nel BitArray specificato. |
5 | public void Set(int index, bool value); Imposta il bit in una posizione specifica nel BitArray sul valore specificato. |
6 | public void SetAll(bool value); Imposta tutti i bit in BitArray sul valore specificato. |
7 | public BitArray Xor(BitArray value); Esegue l'operazione OR eXclusive bit per bit sugli elementi nel BitArray corrente rispetto agli elementi corrispondenti nel BitArray specificato. |
Esempio
L'esempio seguente mostra l'uso della classe BitArray:
using System;
using System.Collections;
namespace CollectionsApplication {
class Program {
static void Main(string[] args) {
//creating two bit arrays of size 8
BitArray ba1 = new BitArray(8);
BitArray ba2 = new BitArray(8);
byte[] a = { 60 };
byte[] b = { 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");
for (int i = 0; i < ba1.Count; i++) {
Console.Write("{0, -6} ", ba1[i]);
}
Console.WriteLine();
//content of ba2
Console.WriteLine("Bit array ba2: 13");
for (int i = 0; i < ba2.Count; i++) {
Console.Write("{0, -6} ", ba2[i]);
}
Console.WriteLine();
BitArray ba3 = new BitArray(8);
ba3 = ba1.And(ba2);
//content of ba3
Console.WriteLine("Bit array ba3 after AND operation: 12");
for (int i = 0; i < ba3.Count; i++) {
Console.Write("{0, -6} ", ba3[i]);
}
Console.WriteLine();
ba3 = ba1.Or(ba2);
//content of ba3
Console.WriteLine("Bit array ba3 after OR operation: 61");
for (int i = 0; i < ba3.Count; i++) {
Console.Write("{0, -6} ", ba3[i]);
}
Console.WriteLine();
Console.ReadKey();
}
}
}
Quando il codice precedente viene compilato ed eseguito, produce il seguente risultato:
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