C # - Classe BitArray

La classe BitArray gère un tableau compact de valeurs de bits, qui sont représentées sous forme de booléens, où true indique que le bit est activé (1) et false indique que le bit est désactivé (0).

Il est utilisé lorsque vous devez stocker les bits mais que vous ne connaissez pas le nombre de bits à l'avance. Vous pouvez accéder aux éléments de la collection BitArray en utilisant un index entier, qui commence à zéro.

Méthodes et propriétés de la classe BitArray

Le tableau suivant répertorie certains des properties du BitArray classe -

N ° Sr. Propriété et description
1

Count

Obtient le nombre d'éléments contenus dans BitArray.

2

IsReadOnly

Obtient une valeur indiquant si BitArray est en lecture seule.

3

Item

Obtient ou définit la valeur du bit à une position spécifique dans le BitArray.

4

Length

Obtient ou définit le nombre d'éléments dans BitArray.

Le tableau suivant répertorie certains des methods du BitArray classe -

N ° Sr. Méthode et description
1

public BitArray And(BitArray value);

Effectue l'opération AND au niveau du bit sur les éléments du BitArray actuel par rapport aux éléments correspondants du BitArray spécifié.

2

public bool Get(int index);

Obtient la valeur du bit à une position spécifique dans le BitArray.

3

public BitArray Not();

Inverse toutes les valeurs de bits dans le BitArray actuel, de sorte que les éléments définis sur true deviennent faux et les éléments définis sur false deviennent true.

4

public BitArray Or(BitArray value);

Effectue l'opération OR au niveau du bit sur les éléments du BitArray actuel par rapport aux éléments correspondants du BitArray spécifié.

5

public void Set(int index, bool value);

Définit le bit à une position spécifique du BitArray sur la valeur spécifiée.

6

public void SetAll(bool value);

Définit tous les bits du BitArray sur la valeur spécifiée.

sept

public BitArray Xor(BitArray value);

Exécute l'opération OU eXclusive au niveau du bit sur les éléments du BitArray actuel par rapport aux éléments correspondants du BitArray spécifié.

Exemple

L'exemple suivant montre l'utilisation de la 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();
      }
   }
}

Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant -

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