A BitVector32
obtiene un impulso sobre BitArray
porque es solo un entero de 32 bits y no tiene la sobrecarga asociada a una clase (principalmente la sobrecarga de memoria).
Esto significa que si necesita almacenar más de 32 valores booleanos, entonces deberá usar BitArray
o múltiple BitVector32
. Como el número BitVector32
puede ser engomático, es posible que desee colocarlos en una matriz o una clase, lo que eliminaría el aumento del rendimiento.
En pocas palabras, si necesita almacenar 32 o menos valores booleanos luego usar un BitVector32
. Si necesita almacenar más de evaluar sus necesidades y las condiciones de codificación antes ciegamente recoger BitVector32
, de lo contrario podría hacer más trabajo para ti reinventar BitArray
y no ver ninguna de las ventajas de rendimiento.
Nota: en la mayoría de los casos prefiero usar un flagged enum en lugar de un BitVectore32
. Ver this question para una explicación y algunos buenos trucos.
Pero en BitVector32 También creamos un intance de ese tipo. BitVector32 newVector = new BitVector32 (4); //Me gusta esto. –
@ Jaywith.7 »Una nueva instancia de una estructura no tiene la misma sobrecarga que una instancia de una clase. –