La clase BitArray administra una array compacta de valores de bits, que se representan como valores booleanos, donde verdadero indica que el bit está activado , es decir, 1 y falso indica que el bit está desactivado , es decir, 0 . Esta clase está contenida en el espacio de nombres System.Collections .
Propiedades de la clase BitArray:
- La clase BitArray es una clase de colección en la que la capacidad es siempre la misma que la cuenta.
- Los elementos se agregan a un BitArray aumentando la propiedad Longitud .
- Los elementos se eliminan al disminuir la propiedad Longitud .
- Se puede acceder a los elementos de esta colección mediante un índice entero. Los índices de esta colección están basados en cero.
Constructores
Constructor | Descripción |
---|---|
Array de bits(Array de bits) | Inicializa una nueva instancia de la clase BitArray que contiene valores de bits copiados del BitArray especificado. |
BitArray(Booleano[]) | Inicializa una nueva instancia de la clase BitArray que contiene valores de bits copiados de la array especificada de valores booleanos. |
BitArray(Byte[]) | Inicializa una nueva instancia de la clase BitArray que contiene valores de bits copiados de la array de bytes especificada. |
Array de bits (Int32) | Inicializa una nueva instancia de la clase BitArray que puede contener el número especificado de valores de bits, que inicialmente se establecen en false. |
BitArray(Int32, Booleano) | Inicializa una nueva instancia de la clase BitArray que puede contener el número especificado de valores de bits, que inicialmente se establecen en el valor especificado. |
Array de bits (Int32 []) | Inicializa una nueva instancia de la clase BitArray que contiene valores de bits copiados de la array especificada de enteros de 32 bits. |
Ejemplo:
// C# code to create a BitArray using System; using System.Collections; class GFG { // Driver code public static void Main() { // Creating a BitArray BitArray myBitArr = new BitArray(5); myBitArr[0] = true; myBitArr[1] = true; myBitArr[2] = false; myBitArr[3] = true; myBitArr[4] = false; // To get the value of index at index 2 Console.WriteLine(myBitArr.Get(2)); // To get the value of index at index 3 Console.WriteLine(myBitArr.Get(3)); } }
Producción:
False True
Propiedades
Propiedad | Descripción |
---|---|
Contar | Obtiene el número de elementos contenidos en el BitArray. |
es solo lectura | Obtiene un valor que indica si BitArray es de solo lectura. |
Está sincronizado | Obtiene un valor que indica si el acceso a BitArray está sincronizado (seguro para subprocesos). |
Artículo[Int32] | Obtiene o establece el valor del bit en una posición específica en BitArray. |
Longitud | Obtiene o establece el número de elementos de BitArray. |
SyncRoot | Obtiene un objeto que se puede usar para sincronizar el acceso a BitArray. |
Ejemplo:
// C# program to illustrate the // BitArray Class Properties using System; using System.Collections; class GFG { // Driver code public static void Main() { // Creating a BitArray BitArray myBitArr = new BitArray(new byte[] { 0, 0, 0, 1 }); // -------- IsReadOnly Property -------- // Checking if the BitArray is read-only Console.WriteLine(myBitArr.IsReadOnly); // -------- Count Property -------- // To get the number of elements // contained in the BitArray Console.WriteLine(myBitArr.Count); } }
Producción:
False 32
Métodos
Método | Descripción |
---|---|
y (array de bits) | Realiza la operación AND bit a bit entre los elementos del objeto BitArray actual y los elementos correspondientes en la array especificada. El objeto BitArray actual se modificará para almacenar el resultado de la operación AND bit a bit. |
Clon() | Crea una copia superficial de BitArray. |
Copiar a (array, Int32) | Copia todo el BitArray en un Array unidimensional compatible, comenzando en el índice especificado del conjunto de destino. |
Es igual a (Objeto) | Determina si el objeto especificado es igual al objeto actual. |
Obtener (Int32) | Obtiene el valor del bit en una posición específica en BitArray. |
ObtenerEnumerador() | Devuelve un enumerador que itera a través de BitArray. |
Desplazamiento a la izquierda (Int32) | Se utiliza para desplazar los bits de la array de bits hacia la izquierda una posición y agrega ceros en la posición desplazada. |
Obtener código hash() | Sirve como la función hash predeterminada. |
ObtenerTipo() | Obtiene el Tipo de la instancia actual. |
MemberwiseClone() | Crea una copia superficial del objeto actual. |
No() | Invierte todos los valores de bits en el BitArray actual, de modo que los elementos establecidos en verdadero se cambien a falso, y los elementos establecidos en falso se cambien a verdadero. |
Desplazamiento a la derecha(Int32) | Se utiliza para desplazar los bits de la array de bits hacia la derecha una posición y agrega ceros en la posición desplazada. |
O (array de bits) | Realiza la operación OR bit a bit entre los elementos del objeto BitArray actual y los elementos correspondientes en la array especificada. El objeto BitArray actual se modificará para almacenar el resultado de la operación OR bit a bit. |
Conjunto (Int32, Booleano) | Establece el bit en una posición específica en BitArray al valor especificado. |
EstablecerTodo(Booleano) | Establece todos los bits en el BitArray al valor especificado. |
Enstringr() | Devuelve una string que representa el objeto actual. |
Xor(array de bits) | Realiza la operación OR exclusiva bit a bit entre los elementos del objeto BitArray actual contra los elementos correspondientes en la array especificada. El objeto BitArray actual se modificará para almacenar el resultado de la operación OR exclusiva bit a bit. |
Ejemplo 1:
// C# code to do bitwise // OR between BitArray using System; using System.Collections; class GFG { // Driver code public static void Main() { // Creating a BitArray BitArray myBitArr1 = new BitArray(4); // Creating a BitArray BitArray myBitArr2 = new BitArray(4); // Initializing values in myBitArr1 myBitArr1[0] = false; myBitArr1[1] = false; myBitArr1[2] = true; myBitArr1[3] = true; // Initializing values in myBitArr2 myBitArr2[0] = false; myBitArr2[2] = false; myBitArr2[1] = true; myBitArr2[3] = true; // function calling PrintValues(myBitArr1.Or(myBitArr2)); } // Displaying the result public static void PrintValues(IEnumerable myList) { foreach(Object obj in myList) { Console.WriteLine(obj); } } }
Producción:
False True True True
Ejemplo 2:
// C# code to set all bits in the // BitArray to the specified value using System; using System.Collections; class GFG { // Driver code public static void Main() { // Creating a BitArray myBitArr BitArray myBitArr = new BitArray(5); // Initializing all the bits in myBitArr myBitArr[0] = false; myBitArr[1] = true; myBitArr[2] = true; myBitArr[3] = false; myBitArr[4] = true; // Printing the values in myBitArr Console.WriteLine("Initially the bits are as : "); PrintIndexAndValues(myBitArr); // Setting all bits to false myBitArr.SetAll(false); // Printing the values in myBitArr // It should display all the bits as false Console.WriteLine("Finally the bits are as : "); PrintIndexAndValues(myBitArr); } // Function to display bits public static void PrintIndexAndValues(IEnumerable myArr) { foreach(Object obj in myArr) { Console.WriteLine(obj); } } }
Producción:
Initially the bits are as : False True True False True Finally the bits are as : False False False False False
Referencia:
Publicación traducida automáticamente
Artículo escrito por Sahil_Bansall y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA