C matrizes # dot (BitArray)
classe BitArray gere uma matriz compacta de valores de bit, que usa um valor booleano, onde a verdadeira indica um bit está ligado (1), pouco falsa representação está desligado (0).
Quando você precisa para armazenar a pouco, mas eu não sei de antemão o número de bits, usando uma matriz de pontos. Você pode usarum índice inteiro para acessar a matriz do ponto de coleta, o índice do zero.
métodos de classe e propriedades BitArray
A tabela seguinte lista algumas das comumatributos de classe BitArray:
属性 | 描述 |
---|---|
Count | 获取 BitArray 中包含的元素个数。 |
IsReadOnly | 获取一个值,表示 BitArray 是否只读。 |
Item | 获取或设置 BitArray 中指定位置的位的值。 |
Length | 获取或设置 BitArray 中的元素个数。 |
A tabela a seguir lista alguns dosmétodos mais comuns de classe BitArray:
序号 | 方法名 & 描述 |
---|---|
1 | public BitArray And(
BitArray value
);
对当前的 BitArray 中的元素和指定的 BitArray 中的相对应的元素执行按位与操作。 |
2 | public bool Get(
int index
);
获取 BitArray 中指定位置的位的值。 |
3 | public BitArray Not(); 把当前的 BitArray 中的位值反转,以便设置为 true 的元素变为 false,设置为 false 的元素变为 true。 |
4 | public BitArray Or(
BitArray value
);
对当前的 BitArray 中的元素和指定的 BitArray 中的相对应的元素执行按位或操作。 |
5 | public void Set(
int index,
bool value
);
把 BitArray 中指定位置的位设置为指定的值。 |
6 | public void SetAll(
bool value
);
把 BitArray 中的所有位设置为指定的值。 |
7 | public BitArray Xor(
BitArray value
);
对当前的 BitArray 中的元素和指定的 BitArray 中的相对应的元素执行按位异或操作。 |
Exemplos
O exemplo a seguir ilustra a matriz ponto (BitArray) use:
using System; using System.Collections; CollectionsApplication namespace { Programa de classe { static void Main (string [] args) { // Criar duas matrizes de tamanho 8 pontos Ba1 BitArray = new BitArray (8); BitArray Ba2 = new BitArray (8); byte [] a = {60}; byte [] b = {13}; // O valor de 60 e 13 lojas uma matriz ponto Ba1 = new BitArray (a); Ba2 = new BitArray (b); // Conteúdo Ba1 de Console.WriteLine ( "Bit matriz Ba1: 60"); for (int i = 0; i <ba1.Count; i ++) { Console.Write ( "{0, -6}", Ba1 [i]); } Console.WriteLine (); // Conteúdo Ba2 de Console.WriteLine ( "Bit matriz 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); // Conteúdo Ba3 de Console.WriteLine ( "Bit matriz Ba3 após a operação E: 12"); for (int i = 0; i <ba3.Count; i ++) { Console.Write ( "{0, -6}", Ba3 [i]); } Console.WriteLine (); Ba3 = ba1.Or (Ba2); // Conteúdo Ba3 de Console.WriteLine ( "Bit matriz Ba3 após a operação OR: 61"); for (int i = 0; i <ba3.Count; i ++) { Console.Write ( "{0, -6}", Ba3 [i]); } Console.WriteLine (); Console.ReadKey (); } } }
Quando o código acima é compilado e executado, ele produz os seguintes resultados:
Bit matriz Ba1: 60 Falso Falso Verdadeiro Verdadeiro Verdadeiro Verdadeiro Falso Falso Bit matriz Ba2: 13 Verdadeiro Falso Verdadeiro Verdadeiro Falso Falso Falso Falso Bit matriz Ba3 após a operação AND: 12 Falso Falso Verdadeiro Verdadeiro Falso Falso Falso Falso Bit Ba3 matriz após a operação OR: 61 Verdadeiro Falso Verdadeiro Verdadeiro Falso Falso Falso Falso