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 .
El método BitArray.And(BitArray) se usa para realizar 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.
Propiedades:
- 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 .
- La clase BitArray proporciona métodos como And, Or, Xor, Not y SetAll.
- 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.
Sintaxis:
public System.Collections.BitArray And (System.Collections.BitArray value);
Aquí, el valor es la array con la que realizar la operación AND bit a bit.
Valor de retorno: Devuelve una array que contiene el resultado de la operación AND bit a bit, que es una referencia al objeto BitArray actual.
Excepciones:
- ArgumentNullException: si el valor es nulo.
- ArgumentException: si el valor y el BitArray actual no tienen el mismo número de elementos.
A continuación se dan algunos ejemplos para entender la implementación de una mejor manera:
Ejemplo 1:
// C# code to do bitwise // AND 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.And(myBitArr2)); } // Displaying the result public static void PrintValues(IEnumerable myList) { foreach(Object obj in myList) { Console.WriteLine(obj); } } }
Producción:
False False False True
Ejemplo 2:
// C# code to do bitwise // AND 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(6); // 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; myBitArr2[4] = true; myBitArr2[5] = true; // function calling // This should raise "ArgumentException" // as array lengths are not same PrintValues(myBitArr1.And(myBitArr2)); } // Displaying the result public static void PrintValues(IEnumerable myList) { foreach(Object obj in myList) { Console.WriteLine(obj); } } }
Error de tiempo de ejecución:
Excepción no controlada:
System.ArgumentException: las longitudes de array deben ser las mismas.
Nota:
- La operación AND bit a bit devuelve verdadero si ambos operandos son verdaderos y devuelve falso si uno o ambos operandos son falsos.
- Este método es una operación O(n), donde n es Count.
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