A BitVector32
un incremento di BitArray
perché è solo un numero intero a 32 bit e non ha l'overhead associato a una classe (principalmente l'overhead di memoria).
Ciò significa che se è necessario memorizzare più di 32 valori booleani, sarà necessario utilizzare BitArray
o più BitVector32
. Dal momento che più BitVector32
potrebbero essere scomposti, potresti volerli mettere in un array o in una classe, il che toglierebbe il miglioramento delle prestazioni.
In breve, se è necessario memorizzare 32 o meno valori booleani, utilizzare BitVector32
. Se avete bisogno di memorizzare più di valutare le vostre esigenze e le condizioni di codifica prima di prendere ciecamente BitVector32
, altrimenti si potrebbe fare più lavoro per te reinventare BitArray
e non vedere nessuno dei vantaggi prestazionali.
Nota: nella maggior parte dei casi preferisco usare uno flagged enum anziché uno BitVectore32
. Vedi this question per una spiegazione e alcuni buoni trucchi.
Ma in BitVector32 creiamo anche un intance di quel tipo. BitVector32 newVector = new BitVector32 (4); //come questo. –
@ Jaywith.7 »Una nuova istanza di una struttura non ha lo stesso sovraccarico come esempio di una classe. –