2017-09-18 3 views
-2

En C# J'ai un BitArray qui stocke une valeur de 5 comme suitConvertir un BitArray à Int en C#

BitArray bitArray = new BitArray(new int[] { 5});

Je veux récupérer la valeur 5 du BitArray comme un entier comme suit:

int myInt = //some operation on bitArray goes here 

Ce qui serait une méthode rapide de le récupérer? Cette opération sera répétée fortement, donc la performance est importante.

+0

La réponse ici a des contrôles supplémentaires pour la longueur que je ne ai pas besoin https://stackoverflow.com/questions/5283180/how-can-i-convert-bitarray-to-single-int – Caustix

Répondre

1

Copiez simplement le tableau de bits dans un tableau int et prenez le premier élément.

BitArray bitArray = new BitArray(new int[] { 5 }); 
int[] array = new int[1]; 
bitArray.CopyTo(array, 0); 
int result = array[0]; 
+0

est-il une méthode également rapide qui ne nécessite pas de déclarer un tableau? – Caustix

+0

Je ne connais pas une solution plus rapide. Pensez à utiliser C ou C++ si ce n'est pas assez rapide. – Fruchtzwerg