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.CopyTo(Array, Int32) se utiliza para copiar todo el BitArray en un Array unidimensional compatible, comenzando en el índice especificado del conjunto de destino.
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 .
- 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 void CopyTo (Array arr, int index);
Parámetros:
- arr: Es el arreglo unidimensional que es el destino de los elementos copiados de BitArray. El Array debe tener una indexación basada en cero.
- índice: es el índice basado en cero en la array en el que comienza la copia.
Excepciones:
- ArgumentNullException: si el arr es nulo.
- ArgumentOutOfRangeException: si el índice es menor que cero.
- ArgumentException: si el arreglo es multidimensional O el número de elementos en el BitArray de origen es mayor que el espacio disponible desde el índice hasta el final del arreglo de destino.
- InvalidCastException: si el tipo de BitArray de origen no se puede convertir automáticamente al tipo de array de destino.
A continuación se dan algunos ejemplos para entender la implementación de una mejor manera:
Ejemplo 1:
// C# code to copy BitArray to Array, // starting at the specified index // of the target array using System; using System.Collections; class GFG { // Driver code public static void Main() { // Creating a BitArray BitArray myBitArr = new BitArray(4); myBitArr[0] = true; myBitArr[1] = true; myBitArr[2] = true; myBitArr[3] = true; // Creating a bool array bool[] myBoolArr = new bool[8]; myBoolArr[0] = false; myBoolArr[1] = false; // Copying BitArray to Array, // starting at the specified index // of the target array myBitArr.CopyTo(myBoolArr, 3); // Displaying elements in myBoolArr foreach(Object obj in myBoolArr) { Console.WriteLine(obj); } } }
Producción:
False False False True True True True False
Ejemplo 2:
// C# code to copy BitArray to Array, // starting at the specified index // of the target array using System; using System.Collections; class GFG { // Driver code public static void Main() { // Creating a BitArray BitArray myBitArr = new BitArray(3); myBitArr[0] = true; myBitArr[1] = true; myBitArr[2] = true; // Creating a bool array bool[] myBoolArr = new bool[8]; myBoolArr[0] = false; myBoolArr[1] = false; myBoolArr[2] = false; // Copying BitArray to Array, // starting at the specified index // of the target array // This should raise "ArgumentOutOfRangeException" // as index is less than 0 myBitArr.CopyTo(myBoolArr, -2); // Displaying elements in myBoolArr foreach(Object obj in myBoolArr) { Console.WriteLine(obj); } } }
Error de tiempo de ejecución:
Excepción no controlada:
System.ArgumentOutOfRangeException: se requiere un número no negativo.
Nombre del parámetro: índice
Nota:
- La array especificada debe ser de un tipo compatible. Solo se admiten los tipos de arrays bool , int y byte .
- Este método usa Array.Copy para copiar los elementos.
- 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