Desenvolvimento - C#
BitArray: Dominando as classes do C#
por Joel Rodrigues
Sobre a classe
A classe BitArray, como o nome sugere, é uma coleção de bits, que porém são tratados como bool. Ou seja, os elementos possuem valor true se o respectivo bit vale 1, ou false se o bit vale 0.
De modo geral, o BitArray funciona como um vetor de bool (bool[]), a principal diferença é a possibilidade de inverter todos os valores de uma única vez e comparar duas listas (comparando cada elemento e retornando um BitArray com os resultados).
Principais propriedades
- Count: Quantidade de elementos contidos na coleção (apenas leitura).
- Length: Semelhante ao count, com a diferença de que pode ser alterado.
Principais métodos
- And(BitArray value): Compara dois objetos BitArray, item a item, e retorna um terceiro BitArray com o resultado da operação AND
- entre os itens dos dois primeiros.
- Get(int index): Retorna true ou false, de acordo com o valor do elemento na posição indicada.
- Not(): Inverte o valor de todos os elementos, ou seja, os que forem true passam a ser false e vice-versa.
- Or(BitArray value): Semelhante ao método And, porém a operação realizada entre os itens é a operação booleana OR.
- Set(int index, bool value): Define o valor do elemento na posição index conforme o parâmetro informado.
- SetAll(bool value): Define o valor de todos os elementos da lista como true ou false de acordo com o parâmetro value.
- Xor(BitArray value): Funciona da mesma forma que as funções And e Or, porém, a operação booleana é a XOR (OU Exclusivo).
As demais operações como Clone, AsQueryable e CopyTo funcionam da mesma forma que nas demais coleções. A explicação desses métodos pode ser encontrada neste outro artigo: ArrayList - Dominando as classes do C#
Por enquanto ficamos por aqui com mais este artigo da série “Dominando as classes do C#”. Caso alguém deseje que seja abordada uma classe específica em um próximo artigo, basta entrar em contato para que eu avalie a possibilidade e providencie o conteúdo.
Um grande abraço e até a próxima.








